help-cfengine
[Top][All Lists]
Advanced

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

Re: dynamis class creation


From: Mark . Burgess
Subject: Re: dynamis class creation
Date: Mon, 15 Jul 2002 22:45:49 +0200 (MET DST)

For red hat, as in no other OS, there is a function that defines
classes based on the version number. These follow a specific pattern.
I'm not sure why a script or module is necessary. But if one were...
a module would be the way to do it.

Mark

On 15 Jul, Vilius Puidokas wrote:
> what about using cfengine's logic for classes, like:
>  RH72 = ( "/bin/grep 7.2 /etc/redhat-release" )
>  amd = ( "/bin/grep amd /etc/whatever-amd-file" )
>  RH = ( RH1 RH62 RH72 )
> 
>  RH::
>    do whats common for all RH boxes
>  RH.!amd-very-specific::
>    except amd-very-specific boxes which conflict with RH standarts and
> shouldnt be really called RH :)
> 
>  RH.amd-mod::
>    do whats common for all amd stuff
>  RH.amd-very-specific::
>    do something very special
> 
> v
> 
> On Mon, 15 Jul 2002, Bob Van Cleef wrote:
> 
>> 
>> On 15 Jul 2002, Jacob Lee wrote:
>> 
>> > On my systems, redhat_7 and redhat_7_1 (or redhat_7_0, etc.) are both
>> > defined as hard classes. Check for that. If it does turn out that you
>> > need to define a class based on the output of a shell script,
>> > investigate the cfengine module capabilities:
>> 
>> Sigh... I guess I need to upgrade to 2.x IFF it will report OS level
>> on the 6.x systems.  What I have now works, except for this one function,
>> which does appear to exist in 2.x either.  I hate upgrading working 
>> systems. /sigh.
>> 
>> > http://www.cfengine.org/modules/
>> 
>> That seems to be a rather complex way to achieve a simple option.
>> 
>> I am actually surprised that there appears to be no way to do this.
>> 
>> I have a couple of other things where being able to define a class
>> on the fly would have dramatically cut the number of lines in the
>> cfengine configuration script.
>> 
>> Bob
>>  
>> > On Mon, 2002-07-15 at 14:02, Bob Van Cleef wrote:
>> > > 
>> > > This has got to be an FAQ, but I can't find it anywhere.
>> > > 
>> > > I want to define a custom class based on the level of OS.  So,
>> > > I wrote a simple little script that checks /etc/redhat-release
>> > > and returns rh60 for red hat 6.0 and rh6.2 for red hat 6.2 
>> > > systems, etc.  Now, the question is, "How to use that script to
>> > > define a corresponding class?
>> > > 
>> > > It appears that can create a separate line for each class:
>> > >  rh60 = ( "script that returns non-null only on 6.0 system" )
>> > >         rh62 = ( "script that returns non-null only on 6.2 system" )
>> > > which seems counter intuitive.
>> > > 
>> > > but there does not appear to be a method for having a script
>> > > that returns the name of the class that you want to define.
>> > > 
>> > >  define = ( "script returns name of class that is defined )
>> > > 
>> > > There are enough differences between various versions of Red Hat that
>> > > this has become critical.  (Three different "amd" configuration files
>> > > for one example.)  The standard classes include the kernel level, but
>> > > not the OS distribution level.
>> > 
>> > 
>> 
>> 



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Work: +47 22453272            Email:  Mark.Burgess@iu.hio.no
Fax : +47 22453205            WWW  :  http://www.iu.hio.no/~mark
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~





reply via email to

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