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.