FAI progress + questions
I'd indicated my intent to package FAI (Fully Automatic
Installation), which can non-interactively install nodes
in a Debian based cluster. I'd like to consult you some points
which are not totally clear to me.
There are a few intricaties regarding FAI, but almost
all have been resolved. Right now, I'm able to start FAI
with its default configuration, however modified to install
potato, on my local network.
There seem to be some problems about the directory layout, etc.
I will post a more complete list as soon as I precisely
determine what they are. :). Right now, I'm just dumping
some of the more significant points.
To start off, FAI requires its files in /files, also
its tftp setup expects boot images to reside under /tftpboot.
Another interesting issue is that FAI requires a debian distribution
to be present on the local disk. I am myself using fmirror
for a partial mirror, but I wonder if there is any policy on
where the debian mirror is supposed to be found.
As a person who has been seeing GNU coding standards in
his nightmares, I thought that the FAI scripts should be
going somewhere else than /files. They are stuff that's
supposed to be edited, and yet they are not binaries. Though,
some of the stuff in the fai distribution are indeed binaries.
Now /files/install contains almost all required files (for instance
there are related config files in /etc which are quite important in
cluster installation since they indicate also what the cluster is)
/files/install/debian ==> a debian mirror which includes all required
/files/install/fai ==> fai scripts
/files/install/root ==> unpacked base system with a few mods
fai scripts are quite loaded
exa@borg:/files/install$ tree -d fai
| |-- boot
| | |-- System.map
| | |-- config
| | `-- vmlinuz
| |-- etc
| | |-- X11
| | | |-- XF86Config
| | | `-- Xserver
| | |-- alternatives
| | |-- hosts
| | |-- hosts.allow
| | |-- hosts.deny
| | |-- hosts.equiv
| | |-- kbd
| | | `-- default.map.gz
| | |-- modutils
| | |-- nsswitch.conf
| | |-- printcap
| | `-- rc2.d
| |-- modules
| |-- root
| `-- tftpboot
>From the distribution:
All base FAI scripts are located in subdirectory fai_scripts/.
Subdirectory class/ contains all scripts and files for defining classes
for the client. The configuration for partitioning the harddisk and
mounting local filesystems are stored in disk_config/. Information for
software packages can be found in packages_config/. The scripts that
are executed at the end of the installation are stored in subdirectory
scripts/. Template for files that are copied onto the clients are
located in files/. Subdirectories etc/ and kernel/ contain files for NIS
and for BOOTPD and the scripts for the building of different
kernels. In doc/ you can find the documentation.
Now, what is the proper solution to such a case? How do we break it
up? Should I follow diskless* packages, or do I have freedom in
deciding what goes where? (That is, for the parts that are
out of the scope of official policy)
I have a solution for /tftpboot, in Debian tftp serves from /boot,
so it could simply be made into something like /boot/cluster
or /boot/<cluster-name> as better configurable. OTOH, I would guess
that some of the FAI scripts should go to /etc/fai, and some other
stuff should go to /usr/share...
I will follow up on this shortly. I am looking forward to your
++++-+++-+++-++-++-++--+---+----+----- --- -- - -
+ Eray "eXa" Ozkural . . . . . .
+ CS, Bilkent University, Ankara ^ . o . .
| mail: firstname.lastname@example.org . ^ . .