help-cfengine
[Top][All Lists]
Advanced

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

Re: Getting $(allclasses) into a shellcommand


From: Chip Seraphine
Subject: Re: Getting $(allclasses) into a shellcommand
Date: Mon, 19 Jul 2004 08:06:17 -0500
User-agent: KMail/1.5.4

On Thursday 15 July 2004 17:45, Ed Brown wrote:
> Yum (which we use)
> certainly allows you to define groups, and redhat's comps.xml can be
> used for customizations that way, but you could simply create text files
> and parse them in your perl wrapper.  The point was to cut down the # of
> defined classes, by not trying to define one for every required rpm.

Several kind people wrote to me on or off the list to recommend using Yum or 
some other mechanism to manage my RPMs.  That wasn't really the point, 
though; I was looking for a way to pass a large $(allclasses) string.  I 
realize that redesigning my package management rig to make the string shorter 
is also an option, but it isn't what I want to do.  Given the size and 
complexity of my bundle of cfengine scripts (20k lines and growing), I'll 
eventually run up against this limit  anyway.

> And since thinking about it more this afternoon, I'd be strongly
> inclined to handle the installs in the kickstart script itself, if
> possible. 

The idea is that since cfengine is already aware of classes of machines 
(webservers vs workstations and such), I kickstart everything with a generic 
"least common denominator" installation and then add the goodies later.  I 
don't trust cfengine or *any* automated system doing package removals, so I 
only kick with packages that are needed by all systems.

> Checking every time cfengine runs to see if 'a few hundred
> RPMs' are installed would add a lot of overhead, for something that only
> needs to be done once. 

I agree.  Not to mention the fact that you don't want to be laying down lots 
of packages when the machine is busy doing production work....  daily or 
weekly is fine.

> If you really wanted to handle this with
> cfengine, you might try doing it only if a special class is defined. For
> example, we install cfengine during kickstart, and run it there for the
> first time with '-d NewBuild', for some first time, one time actions.

I have a similar class that is activated during cfengine installs in order to 
make sure the machine has all the packages it needs.  Unfortunately, I still 
need  to keep the system up to date as new packages are released or as I 
alter the profile definitions (e.g. add modperl to webservers or whatever).  
Hence the periodic  package runs.

> 
> -Ed   

-- 

Chip Seraphine
Unix Administrator
TradeLink, LLC
312-264-2048
chip@trdlnk.com





reply via email to

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