[Server-devel] Server Configuration
Holger Levsen
holger at layer-acht.org
Mon Jul 2 13:30:18 EDT 2007
Hi,
arg, I was a bit too busy with other backlogs, but I should have looked into
this folder a bit earlier. Sorry.
On Wednesday 20 June 2007 04:29, John Watlington wrote:
> We need to finalize the plans for configuring the server software.
> This has two components:
> - Common configuration
> - Machine specific configuration
>
> The common configuration are the configuration changes to FC7
> software packages in order
> to customize them for our setup. This is the subject of this email.
>
> The machine specific configuration is the method by which a stock
> school server is configured
> for a particular school. It will reconfigure the WAN networking,
> server name, and how the server
> identifies itself to the remote monitoring system.
> Solutions for this are being considered by Scott Ananian. He can
> report separately.
>
> The approach that Holger is currently building for common
> configuration is built around FAI.
> http://www.informatik.uni-koeln.de/fai/fai-guide.html/
Actually, that approach works for both "components": the beautys of FAIs class
system and of storing the FAI config space (the classes and their scripts,
config files, etc) in git allows the schools to maintain a branched git repo
too.
So we can define common classes, say XSSERVER, WEBSERVER, FOOBAR and a school
can use more classes, like BRASIL, PORTOALLEGRE and ROOM4
> FAI allows us to perform the configuration by running post install
> scripts.
And a great bit more :) Basically FAI is divided into tasks, and each task
performs something, like defining classes, defining variables, installing
packages, running configuration scripts, save logfiles. There are more than
10 tasks, though I just named the important ones for us.
Then, each system can belong to many classes. (More on how to define that,
later). Each class can define variables, define packages to be installed or
removed and run scripts.
These classes have priorities, which define in which order the scripts are
executed and which of the config files is copied. (Say you have a apache.conf
for the WEBSERVER class and a apache.conf for the SPECIFICWEBSERVER class.
Then, if the system belongs to WEBSERVER and SPECIFICWEBSERVER the latter is
taken (later (defined in FAI) means higher priority), if the system only
belongs to WEBSERVER, than that config file is taken.)
FAI basically uses two kind of scripts: shell and cfengine. But it can also
use perl or python scripts. And if you do not know cfengine, do have a look.
It really rocks.
FAI contains the fcopy command, which can be used in scripts, to copy
configuration file templates based on classes. (See the above apache.conf
example.)
And then there are hooks. hooks are class based (so a hook belongs to a class)
and with hooks its possible to modify fai-tasks. Easy example (though not
fitting for our usecase): the hook partition.DISKLESS is a no-op, which
therefore skips the partitioning task if the system has the DISKLESS class
defined. (We don't do installation with fai, so this is just a hopefully not
confusing example.)
> The alternative approach that I had been proposing was to build rpm
> packages
> that depended on the "stock" FC7 package and included these post
> install scripts.
This will bring us into trouble with security updates (need more work) without
any real advantages, IMHO. Or what advantages do you see?
regards,
Holger
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://lists.laptop.org/pipermail/server-devel/attachments/20070702/0b10745c/attachment.pgp
More information about the Server-devel
mailing list