Is it really this complicated? Follow my logic here...

In my scenario, it's critical that my yum repositories get installed
by puppet to /etc/yum.repos.d first before anything else happens.
After this, the yum-priorities rpm must be installed with yum,
followed by ldap, since the installation of ldap MUST be complete and
the nscd service started before anything else gets done.

For this, I have a default package in the base node, like this:

node basenode_centos inherits basenode {

    include yum
    include ldap_client
    include other_stuff

    Package {
        require => [
            Yumrepo["Twofish-Core"],
            Yumrepo["EPEL-Core"],
            Yumrepo["DAG-Core"],
            Yumrepo["CentOS-Base"],
            Yumrepo["CentOS-Updates"],
            Class["yum"],
            Class["ldap_client"]
        ]
    }
}

Now, the yum module will complain about module dependency looping, so
it's a special case. It can't automatically require all the
repositories it needs (for yum-prioritities), so the yum module has
this. I assume when you define a Package{} default at a lower level,
it overrides the upper level completely.

class yum {
    Package {
        require => Yumrepo["CentOS-Base"]
    }
    package {
        yum:
            ensure => installed;
        centos-release:
            ensure => installed;
        yum-priorities:
            ensure => installed;
    }
}

 My LDAP module has the same problem. Since it's in the default
Package{}, it would also complain about module dependency looping, so
it has:

class ldap_client {
    Package {
            require => Class["yum"]
    }
}

I'm still not sure that requiring a Class means that that class has to
be fully complete or not. The docs are vague on this. Anyway, but ldap
requiring the yum class, this means that the yum class (i hope) has to
be fully implemented before LDAP installs any packages.

Is it just me, or is this just plain way over complicated? I just know
that as soon a I touch something the whole damn thing is going to
break, and it will be a nightmare to debug. If we could include
modules in an order, and have them implemented in that order, it would
be SO much easier.

Doug.

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To post to this group, send email to puppet-users@googlegroups.com
To unsubscribe from this group, send email to 
puppet-users+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to