Hi all,

> * Michael Tautschnig <[email protected]> [Sat Apr 03, 2010 at 11:34:20AM +0200]:
> > > >>>>> On Tue, 30 Mar 2010 21:52:27 +0100, Holger Levsen 
> > > >>>>> <[email protected]> said:
> 
> > >     > How? (Seriously, how would you do this?)
> 
> > > I, myself will not use subclasses.
> 
> > > > definitly be easily possible in FAI, thus either be part of the
> > > > featureset or be documented well. 
> 
> > > Have a look at #498412, there's a sample implementation from Ingo, so
> > > it's already documented. You may want to add this information to the
> > > FAI wiki.
> 
> > I'm using some kind of subclasses for a long time now and it was really 
> > easy to
> > implement using a single script in class/ that evaluates an extra file
> > class/$class if class/$class exists.
> 
> > I'm not sure how feature-complete the FAI Guide intends to be, but maybe it
> > could be as simple as to add references to this bug report and #468352 to
> > Section 11 (Various Hints)?
> 
> ACK. Adding this to the official documentation (maybe in a
> summarized version so users don't have to digg through the whole
> bugreport) would be worth the effort IMO.
> 
> Could anyone with knowledge regarding this issue please volunteer to
> come up with a few lines of documentation?
> 

I was initially considering to simply post my scripts and setup here, which I'll
do nevertheless. But if we really want a proper solution, Ingo's solution looks
really nice and pretty feature-complete. I'll therefore include that into the
experimental branch at least; I will, however, not add it to subroutines or the
like, but instead the user shall be calling fai-deps from within some script in
$FAI/class/ at will. It's finally included in 4.0~beta2+experimental8.

The very simple solution I'm using is as follows, and is part of my
$FAI/class/02more.sh:

base_class=`grep "^$HOSTNAME " $FAI/class/CLASSES | awk '{ print $2 }'`
for class in $classes $base_class ; do
  [ "$class" = "$HOSTNAME" ] && continue
  [ -f $FAI/class/$class ] && cat $FAI/class/$class
done

if [ "$base_class" = "$HOSTNAME" ] ; then
  exit 0
fi
echo $base_class

and a $FAI/class/CLASSES file that has entries like these:

gnat DNS 
bull bull
cola SHELL_SERVER
calf MAILRELAY
wasp XEN0

I guess such a snippet could easily be included in the documentation, but for
complex dependencies there is no way around Ingo's solution.

Best,
Michael

Attachment: pgp8Ylz6jmN0I.pgp
Description: PGP signature

Reply via email to