Estou tendo um problema muito estranho com o systemd no RHEL7. O arquivo /run/puppetboot.lock não está sendo removido no final da execução do arquivo da unidade. Estranhamente, quando eu substituo as linhas do 'agente fantoche' por '/ usr / bin / true', então o arquivo de bloqueio é excluído como esperado.
[Unit]
Description=Extra Puppet runs
Wants=basic.target
Before=puppet.service
After=basic.target network.target puppetmaster.service
[Service]
Type=oneshot
RemainAfterExit=yes
EnvironmentFile=-/etc/sysconfig/puppetagent
EnvironmentFile=-/etc/sysconfig/puppet
ExecStart=/usr/bin/touch /run/puppetboot.lock
ExecStart=/usr/bin/puppet agent --onetime --no-daemonize --ignoreschedules
ExecStart=/usr/bin/puppet agent --onetime --no-daemonize --ignoreschedules
ExecStart=/usr/bin/rm -f /run/puppetboot.lock
ExecStart=/bin/bash -c "/bin/test -x /usr/local/sbin/reboot-if-needed && /usr/local/sbin/reboot-if-needed"
[Install]
WantedBy=multi-user.target puppet.service
Estou usando o arquivo de bloqueio como um sinal de que a configuração e a configuração de inicialização antecipada são feitas para que eu possa enviar um email para os administradores para a configuração pós-compilação. Eu estou esperando para evitar adicionar um arquivo de unidade do systemd apenas para me enviar e-mails indesejados depois que um novo servidor for construído.