[clug] Distributed Administration

Daniel Pittman daniel at rimspace.net
Thu Sep 24 04:57:21 MDT 2009


Alex Satrapa <alexsatrapa at mac.com> writes:

> In addition to looking for virtual machine host software, I'd like to hear
> about your favourite way of managing multiple (ie: 2 or more) hosts in a
> collection.
>
> In my specific case, I want to be able to take a bare bones (Insert
> Distribution Here) install and automagically configure it to:
>  - be running avahi (the mdns part at least),
>  - have MySQL 5 (or PostgreSQL, or whatever) installed,
>  - have my custom /etc/resolv.conf,
>  - configure the avahi to advertise SSH, other services
>  - install some documentation from a web site, and
>  - install and configure a firewall
>
> Some ideas I've seen are:
>  - Cluster SSH (http://sourceforge.net/projects/clusterssh/) *

You already said you don't like this, but just to reinforce that: this is not
a software management solution, this is a (bad, IMO) tool for doing the same
thing on multiple machines.

There are *NOT* the same thing.

>  - Puppet      (http://reductivelabs.com/trac/puppet/)

I have used this.  It has ... issues, but is presently the best solution in
the space, so far as I can tell.  It has good funding in the company behind
it, an open philosophy, and is widely used by big companies.

Most of the issues come from trying to have the simplest thing possible, and
that not quite being enough to model the complexity of the real world ... and
the fact that Ruby is busy reinventing all the problems that older languages
have already solved.[1]

>  - Chef        (http://wiki.opscode.com/display/chef/Home)

This looks interesting, but I have not had a chance to look deeply.  It has
even more of the Ruby spirit than Puppet, so expect to be installing
alpha-quality code to support it.

The use of Ruby rather than an invented language is a nice plus, but I have
not checked if they actually solved any complicated problems with it; the most
obvious is that Puppet does poorly when modelling configuration that contains
other configuration entities.


You may also want to investigate BCFG2, which has a good reputation, but which
didn't do several things that I needed when I looked.  Plus, XML configuration
files, which don't ... thrill me as a design choice.


Finally, cfengine 2 works well and reliably, within the limits that everybody
knows — and because everybody knows them you can probably find ways around the
problem documented somewhere.

Oh, and cfengine 3 is ... different.  I have not even looked, but it changes
some parts of the model significantly, and is more in the spirit of puppet, et
al, than cfengine 2 was.

[...]

> Two time short suggestions might be Kickstart/anacoda (Redhat based) and
> AutoYast (OpenSuse based) for auto pre-configured installs.

...or FAI, which can install at least RedHat, and probably SuSE, in addition
to Debian and derivatives.  Heck, it can probably deploy Arch and Gentoo as
well, if you really want.

One option for handling the above is a "scorched earth" strategy: define your
settings, store data on a separate partition, and reconfigure by rebuilding
the machine from scratch.

This is actually easier and more efficient than in sounds...

> Then management, I am not sure on?

Yeah.  That bit is hard. ;)

        Daniel

Footnotes: 
[1]  Specifically, distribution of third party libraries is a pain, they don't
     yet do much by way of ABI compatibility, Ruby-based tools leak, crawl, or
     otherwise fail to run robustly for extended periods, and so forth.

-- 
✣ Daniel Pittman            ✉ daniel at rimspace.net            ☎ +61 401 155 707
               ♽ made with 100 percent post-consumer electrons
   Looking for work?  Love Perl?  In Melbourne, Australia?  We are hiring.


More information about the linux mailing list