[Rdo-list] [foreman-dev] [OFI] Dynflow orchestration POC draft

Petr Chalupa pchalupa at redhat.com
Tue Feb 25 08:54:04 UTC 2014


On 24.02.14 22:12, Lukas Zapletal wrote:
>> -   Is there a simpler way how to trigger puppet run on a given host?

Thanks Lukas!

>
> We have the following implementations for puppet run:
>
> #   puppetrun   (for puppetrun/kick, deprecated in Puppet 3)

Since it's deprecated we should probably avoid it if there is another 
simple way.

> #   mcollective (uses mco puppet)

This one is probably not that straightforward as other options, see
https://github.com/witlessbird/foreman_mco/blob/master/SETUP.md

> #   puppetssh   (run puppet over ssh)

Seems best as a best option. Simple setup, ssh is everywhere. One 
disadvantage is that it only triggers the puppet run, there is now way 
how to wait for the puppet run to finish and see results directly. It 
would be a bad thing anyway, smart-proxy process would be blocked. 
Dynflow action can solve this by triggering the puppet run via puppetssh 
and then polling Foreman API for new Report.

(Dynflow already supports action suspending to be able to pull 
effectively without blocking threads. There is also a helper module for 
polling itself.)

see http://projects.theforeman.org/issues/3047
https://github.com/theforeman/foreman/blob/develop/lib/proxy_api/puppet.rb

> #   salt        (uses salt puppet.run)

Also complicated, needs Saltstack, see 
https://github.com/theforeman/smart-proxy/pull/113

> #   customrun   (calls a custom command with args)

AFAIK customrun is used internally by puppetssh so there is probably no 
reason to use it directly.

>
> Make your choice, ssh might be a way.

TL;DR I agree puppetssh seems the best.

Petr




More information about the dev mailing list