On Jul 17, 2009, at 6:08 AM, Burkholder, Peter wrote: > > I just finished listening to the Configuration Management panel from > OSBridge (on blip.tv). > > Near the end of it, Adam Jacob states that Puppet's resource > dependency > ordering is non-deterministic, > and that manifests that work fine 19 times will fail the 20th time. > > Is this true? I'm puzzled that what Luke considers one of Puppet's > strong suits is derided by > others as its Achille's heel.
Dependency ordering is entirely deterministic. Ordering of unrelated items, just like in any other topological sort of a graph, is currently nondeterministic. We could trivially add deterministic ordering for unrelated items: Just sort any equivalent resources based on name. Ten seconds after you do this, you'll have people naming resources things like '00001myservice' because they want to use alphabetic sorting instead of declared dependencies, and then they'll complain when specified dependencies get preference. Basically, once we start saying "unrelated resources will always happen in a predictable order", we can never change the internal implementation or add parallelism. There might be some ways to increase consistency without sacrificing these, but no one besides Adam has complained much about it, and he was never willing to actually contribute code to fixing it. -- It's very hard to predict things . . . Especially the future. -- Prof. Charles Kelemen, Swarthmore CS Dept. --------------------------------------------------------------------- Luke Kanies | http://reductivelabs.com | http://madstop.com --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---