Well I've been using an initial solution for the past month or two which 
seems to be working ok.

I have a custom puppet function that reads the version of the artifact 
being deployed and I add that to the mcollective facts.yaml file at the 
same time that the artifact is deployed. I've also got a groovy script 
which I've put up on GitHub (
https://github.com/TomPoulton/mcollective-synchronous-puppet/blob/master/deployment_trigger.groovy)
 
that runs as part of the Jenkins deployment job that finds the correct 
instances, triggers a puppet run, then waits until all the instances show 
the new version in their facts. It handles the situation where puppet is 
already running, and also has timeouts so the script doesn't run forever.

The only problem is that sometimes (although it's started to get more 
frequent) the script reaches it's timeout waiting for the new version to 
show in the facts, the timeout is pretty generous and is certainly longer 
than a puppet run and an mcollective restart would take, and the facts are 
being updated correctly. Does mcollective have a cache or something that 
would prevent the new values being returned to the mco client on the Jenins 
box?

Thanks

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To post to this group, send email to puppet-users@googlegroups.com.
Visit this group at http://groups.google.com/group/puppet-users.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to