On Nov 5, 2010, at 11:32 AM, Markus Roberts wrote:

> L --
> 
>> If we have this catalog:
>> Class[A] -> Class[B]
>> Class A { resource{"A1"}; resource{"A2"}; resource{"A3"} )
>> Class B { resource{"B1"}; resource{"B2"}; resource{"B3"} )
>> 
>> the edges expand to:
>> A1 -> B1 ; A1 -> B2 ; A1 -> B3
>> A2 -> B1 ; A2 -> B2 ; A2 -> B3
>> A3 -> B1 ; A3 -> B2 ; A3 -> B3
>> that's nine edges, which is (A * B)
>> 
>> Instead, we could do something like:
>> beginA -> A1 -> endA
>> beginA -> A2 -> endA
>> beginA -> A3 -> endA
>> endA -> beginB
>> beginB -> B1 -> endB
>> beginB -> B2 -> endB
>> beginB -> B3 -> endB
>> which has more edges in a small example, but it's (2A + 2B + 1), so it's
>> much less prone to explosions.
>> 
>> How does this change if you leave the Class etc. resources in the graph?
> 
> If I"m understanding your question, they are in the graph, split
> between two nodes (e.g. in his example class A is {beginA, endA});
> which you use for the class would depend on the purpose.

Does this require removing those container resources from the graph.

I think one of the big weaknesses of the current implentation is that the graph 
has to be transformed in order to be executed.


-- 
Meeting, n.:
        An assembly of people coming together to decide what person or
        department not represented in the room must solve a problem.
---------------------------------------------------------------------
Luke Kanies  -|-   http://puppetlabs.com   -|-   +1(615)594-8199




-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Developers" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/puppet-dev?hl=en.

Reply via email to