Run Puppet question

Hello everyone,

I have basically two questions regarding the run puppet functionality on
foreman.

lets say I want to deploy a class on some servers, so I filter my hosts
based on the desired class. It comes out that there are three of them:
host1.com, host2.com and host3.com

To save some time, I select all three servers and click on "run puppet".

And here come my two questions:

  1. will run puppet deploy the desired class on the three hosts one by one
    (serial) or all at the same time (parallel) ??

and

  1. what happens if for any reason the deployment fails on host1 ?? will
    foreman continue deploying on host2 and host3 or will automatically stops
    run puppet execution??

Running puppet 3, foreman-proxy and foreman 1.1

I really appreciate any help / hints on this question.

Thanks!!

> 1) will run puppet deploy the desired class on the three hosts one by one
> (serial) or all at the same time (parallel) ??
>

It's important to note that the run-puppet function runs the whole catalog,
not a single class (just like running "puppet agent" on the cmdline). I
believe the actual execution is in parallel, but I've not tried it for a
while. It basically constructs a puppet command on the master like "puppet
kick --host host1.com --host host2.com --host host3.com", so the answer
really lies in how puppet implements that. Sam will know for sure… :wink:

  1. what happens if for any reason the deployment fails on host1 ?? will
    > foreman continue deploying on host2 and host3 or will automatically stops
    > run puppet execution??
    >

Since the execution is in parallel, the runs should be independent. A
failure in one will not stop the others.

··· On 2 April 2013 14:00, MrTeleBird wrote:

Hi Greg,

thanks for your information.

If foreman just passes to the puppet master the standard puppet kick
command then it run a serial excecution.

*# puppet help kick

  • –host:
    A specific host to which to connect. This flag can be specified more
    than once.
  • –parallel:
    How parallel to make the connections. Parallelization is provided by
    forking for each client to which to connect. The default is 1, meaning
    serial execution.
    …*

Is there a way to configure this behaviour on puppet master/ foreman ???

BTW: Thanks a lot for clarifying that run-puppet runs the whole catalogue
and not a single class. Any idea how to execute run-puppet only for a
specific class?? (similar than the tag paramenter from puppet kick??

Thanks!!

yes, you are right. Thanks for the infos!

> Hi Greg,
>
> thanks for your information.
>
> If foreman just passes to the puppet master the standard puppet kick
> command then it run a serial excecution.
>
> # puppet help kick
> …
> * --host:
> A specific host to which to connect. This flag can be specified more
> than once.
> …
> * --parallel:
> How parallel to make the connections. Parallelization is provided by
> forking for each client to which to connect. The default is 1, meaning
> serial execution.
> …

>
>
> Is there a way to configure this behaviour on puppet master/ foreman ???
>
>
There isn't right now, but it would be trivial to allow you to manage that
via the settings page.

··· On Tue, Apr 2, 2013 at 9:35 AM, MrTeleBird wrote:

BTW: Thanks a lot for clarifying that run-puppet runs the whole catalogue
and not a single class. Any idea how to execute run-puppet only for a
specific class?? (similar than the tag paramenter from puppet kick??

Thanks!!


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