O canal de fantoches do IRC respondeu à minha pergunta.
É um bug do Puppet e é descrito aqui: link
Quando o serviço é descrito com ensure => running
e inscrito em alterações no arquivo de configuração se ambas as condições forem atendidas (ou seja, não estiver sendo executado e o arquivo de configuração alterado), ele será (re) iniciado duas vezes . Existe uma maneira de começar apenas uma vez?
Para esclarecer, tenho o seguinte tipo:
service { "puppet":
ensure => running,
enable => true,
hasrestart => true,
subscribe => File["/etc/puppet/puppet.conf"],
} # service
Quando ambos /etc/puppet/puppet.conf
são alterados e o serviço fantoche não está em execução, vejo o seguinte na saída do fantoche (com --debug especificado):
....
debug: /Stage[main]/Puppet/Service[puppet]/subscribe: subscribes to File[/etc/puppet/puppet.conf]
notice: /Stage[main]/Puppet/File[/etc/puppet/puppet.conf]/content: content changed '{md5}c39350dd1e135cf9fffd14ff167d6655' to '{md5}845a4aac5e83ab3f8cd9efd80ce17772'
....
info: /etc/puppet/puppet.conf: Scheduling refresh of Service[puppet]
debug: /etc/puppet/puppet.conf: The container Class[Puppet] will propagate my refresh event
info: /etc/puppet/puppet.conf: Scheduling refresh of Service[puppet]
debug: Service[puppet](provider=debian): Executing '/etc/init.d/puppet status'
debug: Service[puppet](provider=debian): Executing '/etc/init.d/puppet start'
notice: /Stage[main]/Puppet/Service[puppet]/ensure: ensure changed 'stopped' to 'running'
debug: /Stage[main]/Puppet/Service[puppet]: The container Class[Puppet] will propagate my refresh event
debug: Service[puppet](provider=debian): Executing '/etc/init.d/puppet status'
debug: Service[puppet](provider=debian): Executing '/etc/init.d/puppet restart'
err: /Stage[main]/Puppet/Service[puppet]: Failed to call refresh: Could not restart Service[puppet]: Execution of '/etc/init.d/puppet restart' returned 1: at /etc/puppet/modules/puppet/manifests/init.pp:32
Isso obviamente falha devido ao seguinte:
root:~# /etc/init.d/puppet restart ; /etc/init.d/puppet restart
* Restarting puppet agent [ OK ]
* Restarting puppet agent [fail]
Existe uma maneira de lidar com isso?
O canal de fantoches do IRC respondeu à minha pergunta.
É um bug do Puppet e é descrito aqui: link
Estou longe da minha instalação de fantoches no momento, mas algumas coisas:
Tags puppet