Future of FAI (fwd)

AUSTIN MURPHY amurphy at nbcs.rutgers.edu
Fri Nov 22 09:17:32 CET 2002



On Fri, 22 Nov 2002, Niall Young wrote:

> On Fri, 22 Nov 2002, AUSTIN MURPHY wrote:
>
> > I was thinking of a single "spec" file to define each class with an
> > associated tarball containing all related scripts and files.
>
> > # scripts (location)
> > /fai/scripts/GNOME/S01
> > /fai/scripts/GNOME/S03
>
> Sounds great, but do we need a separate spec file?  I like the ease
> of customising classes simply by dropping SXX scripts etc. in place and
> have them automatically detected instead of hardcoding them in, this
> keeps it flexible and modular.  I'd just separate everything from
> /usr/local/share/fai/* into /usr/local/share/fai/CLASS/* with each file named
> appropriately: disk_config package_config/ scripts/ etc.  It's then an
> isolated tree, and you could add tarball support later by just detecting
> CLASS/ or CLASS.tar.gz

You make a good point about dropping-in scripts etc.

The idea of having separate disk_config/, package_config/, scripts/ etc.
directories solves the problem of not knowing exactly what class has which
sub-sections but it adds a whole lot more sub-directories than the already
large number that currently exist.  This is especially true under the
fai/files/ directory.

The key ideas behind my spec file were to:
1) allow easy recursive dependencies
2) easily see what a class does
3) reduce the number of files and directories

As to #1.  This doesn't exist now, but seems easy enough to implement.
Once implemented I think this will simplify the initial class definition
scripts.

As to #3.  Most of my classes have an associated CLASS.var file as well as
a CLASS file for packages.  My goal was to combine these 2 into a single
class spec file that also included the list of scripts, hooks, and files
associated with the class to solve #2.

Your directory concept solves #2 very well.  I don't think it addresses #3
and or #1.

I don't propose to change the way FAI executes scripts or hooks nor do I
want to change the behavior of fcopy/ftar.  If a script was added and the
spec file was not changed, I think it FAI should run as it is expected to
run now (with the new script, regardless of what the spec file says).

I am thinking along the lines of a Linux package manager.  A package is
installed with all it's dependencies met and then you can do anything to
the files once they are installed.  It might even be possible/practical to
convert each class-pkg into a uDeb or something.  (Just an idea)

I'm afraid that changing the directory structure would lead to a
considerable amount of work in reorienting each part of FAI that "knows"
the current structure.

Does this make sense, or am I way offbase?


Austin Murphy
----
Systems Programmer
Rutgers University



More information about the linux-fai mailing list