[Puppet Users] Re: howto trigger action on another client

jcbollinger
Fri, 24 Jun 2011 13:13:43 -0000

On Jun 24, 3:14 am, Andreas Kuntzagk <andreas.kuntz...@mdc-berlin.de>
wrote:
> Hi,
>
> I want to automate installation of GridEngine with puppet. GE comes with
some
> prepared script for automatic installation.
> Unfortunately this is to be run on the GE master to install the executions
host
> (=clients).  (This then will run some commands on the exec host via ssh)
> So from puppet''s perspective if an agent on an execution host
notices that GE is
> not installed but should it has to tell the agent on the GE master to run
the
> install script.
> Is there an easy (puppet) way to do it?
> My idea is to have the exec host write its name into a file
"hosts_to_install"
> on a common NFS and have the master check that file. But maybe there are
better
> ways.
> Does anybody here has some other GE related recipes?


Exported resources are the Puppet means for one node to provide
resources for another.  In this case, the execution host could export
an Exec resource for the master to collect and apply.  The tricky part
might be to come up with an ''unless'' parameter for it to
ensure that
the master does not attempt to install the execution host twice.  This
has the advantage that it does not rely on a shared file or indeed on
NFS at all.  It does entail a delay between when the execution host''s
configuration is applied and when GE is actually installed, however.

Your idea has merit too.  It is certainly possible to use Puppet on
the execution hosts to ensure (or not) that some accessible file has a
specific line.  There is no native resource for this narrow purpose
(augeas notwithstanding), but you can find recipes on the PuppetLabs
wiki.  If you have no other need for exported resources then it may be
to your advantage to avoid them.


John