Oh, I didn't see this ... same idea. I hope I get it in with the argumentation that the change has a very small footprint ... only one line in an existing file is changed.

Ingo

Raphaël Pinson schrieb:
Hi Ingo,

Nice work.

I had sent a patch to FAI some months ago which allowed inherited classes, but it never got taken into FAI, don't remember why [0].


Raphael

[0] https://lists.uni-koeln.de/pipermail/linux-fai-devel/2008q1/000516.html


On Tue, Sep 9, 2008 at 10:31 PM, Ingo Wichmann <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>> wrote:

    Hi fai,

    I just wrote a script that implements dependencies between fai
    classes and ask for including it in fai.

    how does it work?
    put this script in $FAI/class and make it executable. Now,
    e.g. you have a class WORDPRESS that depends on the classes VHOST
    and POSTGRES . VHOST again may depend on WEBSERVER.
    So if you want to install the blogging software wordpress, you add a
    file

    $FAI/class/WORDPRESS.deps

    that contains the words
    VHOST
    POSTGRES

    and a file
    $FAI/class/VHOST.deps

    that contains the word
    WEBSERVER

    The order often is important, so this script is taking care of it.
    The order of the example above would be:
    WEBSERVER VHOST POSTGRES WORDPRESS
    That way, in $FAI/scripts/ first the webserver would be configured,
    then the vhosts, ...

    It removes double entries from FAI_CLASSES and handles circular
    dependencies[1].



    Calling this file from withing defclass is not perfect: dependencies
    for $HOSTNAME and LAST are not possible. A solution could be, to
    call this script right after fai-class is called in task defclass.

    Somebody willing to include this? To do so 3 changes are necessary:
    1. add a line
     fai-deps
    right after
     fai-class -T $FAI/class $LOGDIR/FAI_CLASSES
    in
    /usr/lib/fai/subroutines ( task_defclass() )
    2. add this script as
    /usr/bin/fai-class
    3. new dependency to libgraph-perl for fai-class

    It should not break existing configurations, because it only acts if
    non-executable files $FAI/class/*.deps exist.

    Ingo


    [1] I do not recommend using circular dependencies, but if you
    accidentally define them, they will not break your neck. But you'll
    get a warning ...

-- Linuxhotel GmbH, Geschäftsführer Dipl.-Ing. Ingo Wichmann
    HRB 20463 Amtsgericht Essen, UStID DE 814 943 641
    Antonienallee 1, 45279 Essen, Tel.: 0201 8536-600,
    http://www.linuxhotel.de




--
Linuxhotel GmbH, Geschäftsführer Dipl.-Ing. Ingo Wichmann
HRB 20463 Amtsgericht Essen, UStID DE 814 943 641
Antonienallee 1, 45279 Essen, Tel.: 0201 8536-600, http://www.linuxhotel.de

Reply via email to