1 votes

Notifier le module apt "apt_update" du module puppet personnalisé

Je suis en train de configurer APT pour ne pas installer les paquets recommandés. J'utilise le module puppetlabs/apt de Puppetforge donc je souhaite notifier la ressource Exec['apt_update'] de ce module.

Je fais ceci :

  class init {

    include apt

    # Configure apt to not install recommends
    file { "/etc/apt/apt.conf.d/80mymodule-norecommends":
        ensure => present,
        owner => root,
        group => root,
        mode => 644,  
        source => "puppet:///modules/mymodule/apt/80mymodule-norecommends",
        notify => Exec['apt_update'],
    }

  }

Cependant, je reçois l'erreur suivante :

Could not find dependent Exec[apt_update] for File[/etc/apt/apt.conf.d/80mymodule-norecommends] at /etc/puppet/modules/mymodule/manifests/apt.pp:18

J'ai essayé plusieurs options de syntaxe (comme notify => Apt::Exec['apt_update'],) mais je ne comprends pas pourquoi je ne peux pas notifier cette ressource.

0 votes

Bizarre. Vous pouvez essayer notify => Class['apt::update'], mais votre code devrait fonctionner.

0 votes

Même: Impossible de trouver la classe dépendante [Apt::Update]. Il semble que pour une raison quelconque, je ne puisse pas accéder à cette portée, bien que "include apt" fonctionne.

0 votes

Umm, vous m'avez donné un indice. Ma classe s'appelle aussi "apt". La syntaxe initiale semble fonctionner si je remplace include apt par include ::apt...

2voto

jjmontes Points 3127

Comme l'a dit Felix, j'avais une classe apt qui faisait de l'ombre à celle du module.

J'ai remplacé :

include apt

par :

include ::apt

Et le problème a été résolu.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X