FAIBASE/10-misc and hostname

Holger Parplies wfai at parplies.de
Mon Mar 11 18:15:13 CET 2013


Hi,

Thomas Neumann (FAI) wrote on 2013-03-11 10:24:28 +0100 [Re: FAIBASE/10-misc and hostname]:
> [...]
> [This is just my personal interpretation, nothing official.]
> 
> I guess this and other 'issues' stem from misusing the 'simple' example. 
> It's really just that, it's an example. It's not a reference impementation. 
> But it is used as such. (I don't blame anybody for this 'misusage'. It's 
> just the way it is.) The problem is there's no implied guarantee that the 
> fai 3.x example is compatible to the 4.x config space example. It's just an 
> example.

this is actually something I have been wondering about for quite a while. I'm
still using the FAIBASE class (and FAI 3.x, for that matter), because it seems
to provide some "glue" between FAI and my configuration. Initially, as you
say, I believed it just belonged to FAI. By now, I've realized it's not that
simple. Quite probably I didn't read the documentation closely enough, but you
seem to be saying it would not have clarified the matter anyway :). I'm sorry
if it does and my message is just bogus.

When installing a basic Debian system (for example), there are a few things to
be done aside from "debootstrap", before a specific config space takes over.
These are handled by FAI in one way or another. Examples that spring to mind
are
- partitioning and setting up file systems
- setting up sources.list
- saving the hostname
- saving interface configuration.

Some of these are FAI tasks, some are not. You can probably argue about
whether hostname and /etc/network/interfaces are the responsibility of FAI or
of the config space. Personally, I do partitioning via a hook and not the FAI
way. Works fine. FAI is very flexible there. And the FAIBASE examples provide
some things any system seems to need (and does some things I don't agree with -
which is ok, as I can simply modify the scripts).
The question seems to be, what happens with a major version change of FAI? Is
there a defined set of things for which FAI is responsible, and everything
else, which the config space should do? If this were so, then shouldn't a
config space ideally work independent of the FAI version it is running on?
I see that apparently some task names have changed in 4.x, so I would
obviously have to adapt my config space correspondingly. Ok.

But why do the FAIBASE "examples" change? Is this a dependency of the target
system to be installed (more setup needed for wheezy than squeeze), or of the
situation FAI sets up on its own? Or is it just a change in the example setup
that I can just as well ignore?

I realize that there are many different ways to achieve the same result. There
could be a 'task hostname' and a 'task interfaces', presuming setting up a
hostname and configuring interfaces were thought to be integral parts of an
installation. Anyone could still do whatever they wanted with hooks and by
overwriting or editing the files (as in 'sed' or 'perl -pi' or even cfengine).
It's probably simpler to use a script, but doesn't that mean that some generic
installation tasks are offloaded to the config space? Where exactly is the
border, as defined by FAI?

I'm sure Thomas Lange has an excellent grasp of all the steps needed for a
successful (Linux) installation and in what order they should be done, and I'm
sure there are reasons for what appears to me to be mixing up necessary
installation steps and facultative installation steps in a FAIBASE class. I'd
just like to understand them :).

Regards,
Holger


More information about the linux-fai mailing list