Pushing changes to nodes

3,317 views
Skip to first unread message

Pavel Shevaev

unread,
Jun 5, 2011, 7:48:08 AM6/5/11
to puppet...@googlegroups.com
Hi!

I've finally managed to migrate our servers deployment process to the
puppet and so far it works just fine. Puppet is great, but its default
pull model doesn't fit our requirements. I'm thinking about usage of
clusterssh(or something similar) in order to trigger the following
command on the nodes:

sudo puppet agent --no-daemonize --verbose --onetime

In our setup puppet agent is not running as a service on the nodes.

I think it would be really nice to have this feature available in the
future versions of puppet, e.g:

#puppet push

What do you think?

--
Best regards, Pavel

Ronen Narkis

unread,
Jun 5, 2011, 7:55:57 AM6/5/11
to puppet...@googlegroups.com

--
You received this message because you are subscribed to the Google Groups "Puppet Users" group.
To post to this group, send email to puppet...@googlegroups.com.
To unsubscribe from this group, send email to puppet-users...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.


Patrick

unread,
Jun 5, 2011, 5:45:27 PM6/5/11
to puppet...@googlegroups.com

As someone said, you can use something like mcollective to do it, or a distributed ssh program. What would you want in puppet, since I think you are saying you don't want puppet running as a service?

If it's not running as a service, it can't be listening for a network connection right?

Are you aware of "puppet kick"?

Matthew Marlowe

unread,
Jun 6, 2011, 7:05:43 AM6/6/11
to puppet...@googlegroups.com
Hi Pavel,

We implemented something similar to what you are asking on our own servers using commonly available tools:
* pssh - cluster ssh tools
* cron/etc on puppetmaster + puppetrun - our sysadmins or the puppetmaster itself determines when puppet configuration runs should be performed.
* modified agent configs to be active on clients, but not to execute unless they receive a request directly from puppetmaster (no interval based runs)
* NFSv4 to clients from puppet master

We implemented the above because puppet's default method of execution is OK for binary based distributions, but not really for source based linux distributions.
Using a "run only when puppet master tells us to" allows us to update source repositories on the master, and then have the master execute the necessary code on the clients to update before forcing a puppet update.
In general, this means puppet only runs about once/week for most nodes.  We add some additional bash/ruby code to create groups of nodes to update.

Matt

--
You received this message because you are subscribed to the Google Groups "Puppet Users" group.
To post to this group, send email to puppet...@googlegroups.com.
To unsubscribe from this group, send email to puppet-users...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.




--
Matthew Marlowe  
Tel: 805-857-9144
http://www.professionalsysadmin.com/

Edward

unread,
Jun 7, 2011, 5:08:23 AM6/7/11
to puppet...@googlegroups.com
On 6/5/11 7:48 PM, Pavel Shevaev wrote:
[snip]

> #puppet push
>
> What do you think?
You can try "puppet kick" from the puppet master so that the puppet
agent will initiate a pull request. Each of the puppet agent would need
to be listening though.
Reply all
Reply to author
Forward
0 new messages