Douglas Garstang wrote: > On Thu, Nov 26, 2009 at 11:59 PM, David Schmitt <da...@dasz.at> wrote: >> Douglas Garstang wrote: >>> First post didn't appear on the list (gee, like that doesn't happen >>> all the time....) >>> >>> So.. I've been fighting with trying to get puppet to include/execute >>> module in a certain order for several weeks now. I kind of have >>> something hacked together, but it scares me a bit since I don't know >>> exactly what is happening. >>> >>> I don't suppose there's still an easy way to do this....? >> I have as one of the very fist things in my site.pp a list of imports of >> modules. That way at least the init.pp of each of the listed modules is >> activated. >> >> This is from before autoloading though, so in a newer installation I >> would consider most modules that need an import as (slightly) broken. > > Not quite sure I follow David. > > You explicitly import specific modules in site.pp? This is what I have > currently... > > import "definitions/*.pp" > import "modules/*.pp" > import "nodes/*.pp" > > Are you saying that by putting specific module imports before these > lines that they will get executed first? Is this actually documented > somewhere?
Uhhh, importing, parsing and application on the client are different issues. Since I'm not sure (anymore) what you are referring to, I'll define those actions explicitly for this discussion: * parsing: the process of translating the manifests and modules on disk into the catalog, which is sent to the client. * importing: while parsing, the execution of the import() method adds more modules and manifests to be parsed. * application: after the catalog is downloaded by the client, the contents of the catalog are applied to the system. Depending on which action you really meant, the question has different answers: * parsing: manifests and modules are parsed in top-down order. Methods, variables, classes, defines and resources earlier in a file are parsed (and thus evaluated) before those later in the file. * importing: since import is a function, it is evaluated at that point in the parsing process when it is encountered in the manifest. At this point the referenced files are parsed and their content added to the catalog (as far as they are applicable). * application: application order is totally dependent on the require/before/notify/subscribe meta-parameters as specified in the catalog. Parse-order has no influence here. For my recommended way of using modules that are not safe for autoloading, please see lines 13-17 in http://github.com/puppet-modules/puppet-manifests/blob/master/manifests/site.pp Regards, DavidS -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-us...@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.