Saya menggunakan boneka untuk mengelola server linux dan berbagai layanan. Ini bekerja dengan baik, kecuali untuk layanan boneka itu sendiri.
Kelas boneka saya seperti ini:
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"]
}
}
}
Ketika perubahan diterapkan pada /etc/puppet/puppet.conf, pemberitahuan boneka yang dibutuhkan untuk memulai kembali layanan boneka dan karenanya, crash sendiri:
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
Apakah Anda tahu bagaimana saya dapat memperbarui puppet.conf dengan benar dengan boneka?
Salah satu solusinya adalah tidak menjalankan boneka sebagai daemon, tetapi memintanya dari cron. Ini adalah sesuatu yang disukai banyak orang karena bagi mereka, daemon menghabiskan banyak memori.
sumber