Ich benutze Puppet, um Linux-Server und verschiedene Dienste zu verwalten. Es funktioniert gut, bis auf den Puppendienst .
Meine Puppenklasse ist wie folgt:
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"]
}
}
}}
Wenn eine Änderung auf /etc/puppet/puppet.conf angewendet wird, stellt Puppet fest, dass der Puppendienst neu gestartet werden muss, und stürzt daher selbst ab:
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
Wissen Sie, wie ich Puppet.conf mit Puppet richtig aktualisieren kann?
Eine Lösung besteht darin, Puppet nicht als Daemon auszuführen, sondern von Cron aus aufzurufen. Dies ist etwas, das viele Leute bevorzugen, weil der Dämon für sie viel Speicher verbraucht.
quelle