> And for classes definition, I got:
> class pkgrepo {
>          Nginx::Vhost["packages.iscoolapp.com"] -> Class['Pkgrepo']
>          include pkgrepo::install,pkgrepo::config
>
> }

The way I understand it, all "included" classes are basically included
at the same time before catalog compilation. And then the resource
dependencies don't take effect until the catalog is being applied to
the node...or in short - "includes" aren't treated like resources.

You basically end up with a node that includes pkgrepo,
pkgrepo::install, and pkgrepo::config classes, then puppet ensures
that Nginx::Vhost["packages.iscoolapp.com"] occurs before
Class["pkgrepo"] - ignoring any sort of ordering for classes that
pkgrepo included.

To ensure the strict ordering when classes include other classes, you
need to specify the requirements for all the classes - something like
this should work:


class pkgrepo {
        Nginx::Vhost["packages.iscoolapp.com"] ->
Class['pkgrepo::install'] -> Class['pkgrepo::config'] ->
Class['pkgrepo']
        include pkgrepo::install,pkgrepo::config
}

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

Reply via email to