[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Bootstrapping
From: |
Luke A. Kanies |
Subject: |
Re: Bootstrapping |
Date: |
Thu, 19 Feb 2004 11:13:00 -0600 (CST) |
On Thu, 19 Feb 2004, John Sechrest wrote:
>
>
> "Luke A. Kanies" <luke@madstop.com> writes:
>
>
>
> % That's definitely a good idea where it can work, but it won't work for
> % most of my cases. One of the things I like the most about cfengine is how
> % easy it is to use it to classify my hosts; I definitely don't want to move
> % that classification outside of cfengine.
>
> Can you outline for me how you use cfengine to classify hosts where
> it is more appropriate to define it inside cfengine
> instead of as an external declaration?
>
> IE, some kind of derived class membership?
I converted my last client from using ISconf to using cfengine for host
classification. Host classes where a heirarchy. Here is a short example
heirarchy:
groups:
base = ( all )
solaris = ( base )
hpux = ( base )
hpux_server = ( hpux )
solaris_server = ( solaris )
web_server = ( solaris_server )
db_server = ( hpux_server )
dns_server = ( solaris_server )
# now we get to hostnames
krypton = ( web_server dns_server )
minnow = ( db_server )
At my last client, I had something like 40 unique host types, and the
heirarchy was probably about 5 levels deep. This was an organization with
less than 100 hosts. These host classes were used for all decision making
-- what packages to install, what processes to start, what filesystems to
create, what config files to load, etc.
Yes, I could build an equivalent logic system outside of cfengine, but why
would I? I would then have to maintain a different interpreter; I know,
because that's what I was doing. I have complete cross-pollination
between cfengine and ISconf -- cfengine got all of ISconf's types via a
module, and ISconf received all of cfengine's types on the CLI.
This was a real PITA. It is much easier to have a single parent harness
with all of the classing information that then uses this information to
launch all of the necessary work.
To some extent, I could see sharing my definition of different types of
servers -- a web server installs apache and does blah, stuff like that.
But I'd like to see more about how you're doing this, because I consider
this to be a very difficult problem.
> % We need to begin adding error checking and/or error counting into
> % cfengine. Without that, we're kind of stuck doing post-processing outside
> % of cfengine, which is a lot of extra work.
>
>
> Can you give an example of how you would like this to work?
See my earlier post about how I monitor syslog and put data into LDAP.
--
Westheimer's Discovery:
A couple of months in the laboratory can frequently save a
couple of hours in the library.
- Re: Bootstrapping, (continued)
- Re: Bootstrapping, Luke A. Kanies, 2004/02/18
- Re: Bootstrapping, John Sechrest, 2004/02/18
- Re: Bootstrapping, Chip Seraphine, 2004/02/19
- Re: Bootstrapping, Luke A. Kanies, 2004/02/19
- Re: Bootstrapping, John Sechrest, 2004/02/19
- Re: Bootstrapping,
Luke A. Kanies <=
- Re: Bootstrapping, John Sechrest, 2004/02/19
- Re: Bootstrapping <= LDAP and authority, Chip Seraphine, 2004/02/19
- Re: Bootstrapping, Mark . Burgess, 2004/02/19
- Re: Bootstrapping, Luke A. Kanies, 2004/02/19
- Re: Bootstrapping, Nate Campi, 2004/02/19
- Re: Bootstrapping, John Sechrest, 2004/02/19
- Re: Bootstrapping, Nate Campi, 2004/02/19
- Re: Bootstrapping, Russell Adams, 2004/02/19
- Re: Bootstrapping, Jamie Wilkinson, 2004/02/19
- Re: Bootstrapping, Chip Seraphine, 2004/02/20