help-cfengine
[Top][All Lists]
Advanced

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

Re: cfrun remote script. -f is stripped


From: Systems Administrator
Subject: Re: cfrun remote script. -f is stripped
Date: Thu, 30 Oct 2003 10:00:25 +1100 (EST)

On Wed, 29 Oct 2003, Yaroslav Halchenko wrote:

> Dear Guru,
>
> I've got the same problem as the guy before but who never got a reply so
> I couldn't find answer to my question and decided to bother you
>
> http://mail.gnu.org/archive/html/help-cfengine/2003-08/msg00006.html
>
> The same I have here: I've created a cfengine script which supposed to
> run install_packages from FAI any time I add another new package to the
> list of packages in FAI configuration to be installed on all machines.
> So I don't really want it to be a part of default cfagent.conf but
> rather want to run it whenever I want. So I create some script
> cfapt.conf which I can run locally as
> cfagent -f cfapt.conf
> and it works.
>
> But if I try to run it from main machine through cfrun I give command like
> cfrun -- -f cfapt.conf
> then  output shows that either cfrun or cfservd strips out -f and just
> calls cfrun ... cfapt.conf
>
> Before I post any long -d2 or -d1 which didn't bring me newbie to the
> ground-truth I want to ask you - may be I'm doing something totally wrong
> and it shouldn't be done this way at all...

        Well, I'll admit to being a newbie too, but it's something I've
thought about, since I'm planning to install everything using RPM.  I'll
even admit to not knowing what FAI was until I looked it up a minute ago.
However, I have spotted one place where you don't seem to be thinking "the
cfengine way" (according to something I read somewhere).  It's preferable
to locate all packages somewhere where they can be downloaded, and then
have each machine check the central repository (client pull) rather than
having the server roll them out (server push).  The reason for this is
that, as your network grows, sometimes a cfengine client will be down.
You want it to automatically pick up changes when it comes back online.

        One of the problems I ran into when I started using cfengine was
coping with the idea that cfengine is not the universal hammer -- it
doesn't do package management.  Probably we need a multi-host package
management system.  I'm working on something that's a step in that
direction, but I won't be releasing any code for at least another month
(probably more -- February?), and even then, it probably won't cope with
all your needs.

        Below, I've included a link to one of my favourite webpages which
talks about someone coping with a fairly similar problem.

http://astro.uchicago.edu/~davidr/cfengine-tools/lisa-paper_html/

        The solution I'm planning and coding has a PostgreSQL database,
and rolls everything out from an FTP server.  Like the link above, it uses
RPM instead of FAI.  Its advantage over the link above is that it can
automatically determine which software belongs on which host by examining
cfengine classes (ie. the database has a mapping from cfengine classes to
packages).  The disadvantage compared to the link above is that the link
above has a patch management solution too.  I didn't need the patch
management, since Redhat doesn't release binary patches.

        Anyway, I've given you the info I thought relevant.  Some other
links which might be vaguely useful:

    *  kickstart + yum + cfengine setup guide:
http://math.univ-lille1.fr/~hafidi/deploy_and_maintain_howto/html/deploy.html

    * cfengine + Kickstart: Two bits at
http://mail.gnu.org/archive/html/help-cfengine/2002-08/threads.html and
the month which follows it

--
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]