J'utilise des marionnettes pour gérer les serveurs Linux et divers services. Cela fonctionne bien, sauf pour le service de marionnettes lui-même.
Ma classe de marionnettes est comme ça:
class puppet {
  file { "/etc/puppet/puppet.conf":
    owner  => 0, group  => 0, mode => 0644,
    content => template("${module_name}/puppet.conf.erb"),
  }
  service { "puppet":
    name       => "puppet",
    ensure     => running,
    enable     => true, hasstatus  => true, hasrestart => true,
    require    => File["/etc/puppet/puppet/conf"]
    subscribe  => File["/etc/puppet/puppet/conf"]
  }
}
}
Lorsqu'une modification est appliquée sur /etc/puppet/puppet.conf, puppet remarque qu'il doit redémarrer le service puppet et donc, se bloquer:
Mar 30 17:08:23 XXXX puppet-agent[20172]: (/Stage[main]/Puppet/File[/etc/puppet/puppet.conf]/content) content changed '{md5}eeaf5dfc7d88c8d9c85e6a8cc714d702' to '{md5}ef6ff0e423f4125e24b689980df9f71d'
Mar 30 17:08:23 XXXX puppet-agent[20172]: Caught TERM; calling stop
Savez-vous comment je pourrais mettre à jour puppet.conf correctement avec puppet?