help-cfengine
[Top][All Lists]
Advanced

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

Re: Help with cfengine architecture


From: Luis Cerezo
Subject: Re: Help with cfengine architecture
Date: Sat, 9 Dec 2006 14:10:48 -0600

Hi Zeev,

(IMHO)

it seems that your approach is backward. Wouldn't be easer to set a cf.dns and then inside that file, make the appropriate class/group divisions...

ie, 
cf.dns

site:
resolv
site2:
resolv

site3:
resolv

and so on...

as far as minimizing excludes, I find it easier to define classes earlier, ie

site1workstations (IpRange( blah-blah ), Somehost, !thisDHCPserver ) 
and 
allworkstations = (site1workstations site2workstations )  

and use these class in the config files. 


This approach seems to work for me, without needing to use a long class definition. The downside is sometimes I need to rearrange my classes around, and it can be a bit much. Especially when it's onesies-twosies.

hth.

-luis

*********
Luis E. Cerezo


On Dec 9, 2006, at 1:53 PM, Zeev Fisher wrote:

Hi cfengine users,

 

I need your advice.

 

I’m a veteran user of cfengine.  When all machines are the same there’s no problem with current cfengine config method ,but when there are differences, I find myself mess with lots of excludes.  This leads to confusions.

 

I need to setup cfengine in new site and this time I would like to achieve the following in order to overcome the problem above:

 

There will be hierarchical tree which include all possible options for matching machines. The top level is the site name , then os , os version down to the machine name ( optional . The tree can stop in each level according to relevant needs). Each level will also have “All” level which include all machine in this level. For example:

 

All

London

Paris

TelAviv/All

           Linux/All

                   RHEL/All

                            3/All

                               Hostname

                            4

                   SuSE

           Solaris/All

                      8/

                      9

                      10

 

 

Each level will include cfengine files. Their names will identify their purpose. For example : cf.dns or cf.sendmail

 

Cfengine agent will be able to determine in which level the machine reside and according to it import all relevant files.

 

I know that it might be possible to prepare some pre script which identify all relevant files in the tree and prepare every time input file for cfagent but any idea how to implement this without external script will be appreciated.

 

Also, you are welcome of course to comment on this method.

 

 

 

Thanks

Zeev

 

 

 

 

 

 

_______________________________________________
Help-cfengine mailing list


reply via email to

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