On Mon, Nov 30, 2009 at 12:12 AM, David Schmitt <da...@dasz.at> wrote: > 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.
Thanks, but i don't think you answered my question. Lets dumb it down. How can I ENSURE that EVERYTHING from module A is implemented before ANYTHING from module B? 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-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.