help-cfengine
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

methods and scripts [was: Re: cfengine ideology question]


From: Tim Nelson
Subject: methods and scripts [was: Re: cfengine ideology question]
Date: Fri, 16 Apr 2004 09:29:17 +1000 (EST)

On Thu, 15 Apr 2004, Billy Allan wrote:

> On Thu, Apr 15, 2004 at 08:54:19AM +0200, Mark.Burgess@iu.hio.no wrote:
> > The advantage of cfengine actions is their predictable behaviour
> > and reproducibility, so it is best to use them if possible.
> > However, cfengine does not make very specialized script writing easy
> > and it is therefore necessary to call other scripts within the cfengine
> > framework. That allows you to
> >  - keep everything in one place
> >  - organize the script runs in relation to other config stuff
> >  - borrow some of the safety features of cfengine
> >
> > Recently "methods" were introduced in cfengine to allow more
> > complex behaviours in cfengine scripts, but even with these there
> > will be times when your own script is better.
>
> I haven't been following the "methods" stuff - something new to play
> with!  :-)
>
> On another note though, I was wondering if it might be useful to be able
> to embed small scripts in an arbitory scripting language
> (shell/perl/python/whatever) in a conf file and have cfengine call the
> interpretor.

        I can actually do each of your examples with my current setup, in
a manner of speaking.  The perl stuff I can do because I'm using perl's
Text::Template on my cfengine config files before I send them out
(server-side).  The shell stuff I can do in the shellcommands section
(client-side).  I might also be able to do perl one-liners with
shellcommands too.
        Sorry to all on the list if it sounds like I keep harping on the
Text::Template, but sometimes, it is the answer to the question :).

        Mark, is there a way to do here-documents as input to
shellcommands?  eg, something like:
-------------------------
shellcommands:
        any::
                <<EOT
....perl code here...
EOT
                > "perl"
-------------------------

        ...where "perl" is the shellcommand, > is redirection, and the
<<EOT EOT stuf are the here document markers.  The would also achieve the
functionality that this guy wants.

[examples snipped]

> It might help reduce the cruft of little scripts which tend to appear on
> machines over time?

        I have a directory one my central server called ..../local/bin and
use the cfengine copy stanza to copy things from there to each individual
machine as appropriate.

        :)

--
Tim Nelson
Systems Administrator
Sunet Internet
Tel: +61 3 5241 1155
Fax: +61 3 5241 6187
Web: http://www.sunet.com.au/
Email: sysadmin@sunet.com.au






reply via email to

[Prev in Thread] Current Thread [Next in Thread]