An update on this. Patrick and I have been working through this and the
changes have landed on the master branch. The final form is pretty much
exactly as outlined in the document that I originally linked to. It can be
summarized as, "When there is no other dependency information between
resources, they will be executed in the order they were added to the
catalog". The caveat (there always is one) is for agent-side generated
resources (for instance from recursive file resources). These are
technically added *after* all of the other resources in the catalog, but
they are logically added as part of the resource that generates them. In
that case those resources are inserted after the generating resource, but
before the next resource in the catalog.

You can see the changes that we made to achieve this in these merges:

  *
https://github.com/puppetlabs/puppet/commit/6cc37d9eb39a22c800e28615f6b7022e8ec84e6f
  *
https://github.com/puppetlabs/puppet/commit/41f00dca91361e87f6a029e44fa4a879b79341e1
  *
https://github.com/puppetlabs/puppet/commit/989276e29b296fa7e28a5a7b9484615980c849f2


On Thu, Jul 11, 2013 at 5:42 PM, Andy Parker <[email protected]> wrote:

> Ok, so what order do resources execute? Right now it is all determined by
> dependencies and by a "stable, yet opaque" ordering when there is nothing
> imposed. Opaquely ordering is great from a philosophical standpoint because
> by not having put in dependencies the system interprets that as the user
> not caring. Unfortunately sometimes you care about things, but don't know
> that you do :)
>
> So there has been some work going into creating a better "last resort"
> ordering of resources as has been discussed in
> http://projects.puppetlabs.com/issues/18508. Patrick Carlisle and I have
> been working through a few ideas for how to do this. At first blush it
> seemed like a bad idea because of the guarantee that we were interpreting
> it to be. After a bit of (heated) discussion the goal was changed to be a
> much laxer constraint on the system. In the absence of any other
> information and any possible reorderings, puppet will execute resources in
> the order in which they are added to the catalog (which is a close proxy to
> "file order").
>
> So that said please take a look and see if this is a wrong-headed idea and
> we should stop the train :)
>
> Doc is linked from the redmine issue, but for all you all's convenience:
> https://docs.google.com/document/d/1vouD3tAtHD43rUVbPtVDuVQ_zMxhxMejIpzNIP7qM2s/edit?usp=sharing
>
> --
> Andrew Parker
> [email protected]
> Freenode: zaphod42
> Twitter: @aparker42
> Software Developer
>
> *Join us at PuppetConf 2013, August 22-23 in San Francisco - *
> http://bit.ly/pupconf13*
> **Register now and take advantage of the Early Bird discount - save 25%!*
>



-- 
Andrew Parker
[email protected]
Freenode: zaphod42
Twitter: @aparker42
Software Developer

*Join us at PuppetConf 2013, August 22-23 in San Francisco - *
http://bit.ly/pupconf13*
**Register now and take advantage of the Final Countdown discount - save
15%!*

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/puppet-dev.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to