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
-~----------~----~----~----~------~----~------~--~---

Reply via email to