Ohad, I have been doing some thinking about this as well. I can  
definitely see situations where I need a "cap shell" type of approach  
to push a single change or something else, but usually those are for  
administration needs.
Now feel free to correct me if I am wrong, but puppet's whole goal is  
to alleviate you from having to perform those mundane tasks. Again as  
I see it, if you cant wait a few minutes for changes to go out, then  
well, its obviously an emergency and usually the best route is direct  
access.

My next question is, is there a way you can enable listen on the  
clients, define a schedule that keeps puppet from running (hack hack  
hack) and then cron/schedue things on the puppetmaster side to do  
puppetrun against "groups" of clients you have in a classification  
tool or something.


Anyway, food for thought.

Also, whatever happened to that cobbler/puppet related tool you were  
talking about a few months back?

-Jason


On Apr 1, 2009, at 6:36 PM, Ohad Levy wrote:

> Hi All,
>
> I've been trying to address the issue of when (once in a while) you  
> need to push something to a client now, cant wait 30 minutes, or its  
> a one time action.
>
> The first path I went though was though was to consider something  
> like puppetrun, and as we don't run puppetd as a daemon (running it  
> from cron due to large memory consumption while idle), I went  
> forward and implemented a basic daemon which uses puppet  
> certificates (no need for ssh or anything else) infrastructure to  
> kick in puppetd --onetime.
>
> nevertheless, I realized that this would not solve all of my  
> problems, many times, one needs to perform an action once, a good  
> example could be package updates, or maybe you have an application  
> "downtime" where you want to restart a service, or just reboot the  
> server.
> another good reason against it, is when you have a fairly large  
> amount of nodes, calling all of your clients to recompile their  
> configuration in a short time frame, is usually leading to a  
> puppetmaster which is unable to perform, using tags for this special  
> onetime puppetd run can help with file requests, but it is still  
> something that the puppetmaster usually cant handle.
>
> until now, I was using puppet for deployment, configuration, and  
> making sure that everything stays that way, but I'm still using ssh  
> for everything else, I wasn't too happy about it, so I had a look on  
> func, which also seems very nice, has its own certificate (even due  
> you could reuse the puppet certificates) and a small daemon that you  
> can run commands / modules though, but this requires yet another  
> daemon, another language (in this case its python  / shell and not  
> puppet dsl) etc... which leads me to my question:
>
> Why Puppet cant have a push directive as well? obviously we already  
> have the infrastructure to connect from the server to the clients  
> (e.g. puppetrun, or my xinetd version), we already have all of the  
> puppet types, so it should be easy to execute on a client (possible  
> today with ralsh or puppet directly) things like:
> Service (manages restarts of services)
> Packages (maybe something like ensure => latest for a one time  
> package upgrades)
> Exec for custom scripts
> ...
> and maybe additional facts that could be executed only upon request
>
> later on, if you have storeconfig ldap or just pure yaml node files,  
> you can add grouping and other nice things....
>
> Cheers,
> Ohad
>
>
> >


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

Reply via email to