2013-11-01 8 views
6

Ho bisogno di un modo per rilevare che puppet ha terminato una corsa iniziale (con successo), quindi posso aspettare prima di avviare altre azioni quando giri su macchine su AWS EC2 e/o OpenStack. Come posso verificare questo?Come rilevare che una sequenza di marionette è completa

Alcune idee galleggiavano finora sono:

  1. hanno fantoccio toccare un file quando finito (con successo), posso quindi solo guardare per quel file
  2. hanno fantoccio scrivere un dato di fatto al termine (con successo), Posso verificare i fatti tramite mcollective. (non so se la scrittura fantoccio db all'interno di una corsa fantoccio è ancora possibile)

risposta

5
/var/lib/puppet/state/puppetdlock 
/var/lib/puppet/state/state.yaml 
/var/lib/puppet/state/last_run_summary.yaml 

Questi sono i file che si desidera controllare.

Il file di blocco è impostato se puppetd è attualmente in esecuzione. State e last_run_summary possono essere usati per vedere se le corse passate sono riuscite o meno.

Vedi anche questa domanda serverfault:

https://serverfault.com/questions/463231/check-if-puppet-agent-is-up-to-date

+1

Se si utilizza Puppet Enterprise questi file si trovano normalmente in/var/opt/lib/pe-puppet/state. Usa puppet config print vardir per trovare la directory se hai installato in una posizione personalizzata –

1

devo provarlo su CentOS 6.4

Se si esegue la modalità Server/Client, verificare il file esiste:

/var/lib/puppet/state/agent_catalog_run.lock

Se lo si esegue in modalità standalone, non trovo che esista un file di blocco. Forse è necessario analizzare il file di log per questo articolo "Terminato il catalogo eseguito in xxx secondi"