> On Thursday, February 25, 2016 at 7:45:46 PM UTC-6, Trevor Vaughan wrote:
>>
>> Sorry about that.
>>
>> What I mean is this:
>>
>> A -> [] -> B is not equivalent to A -> B since failures in A will not
>> affect B.
>>
>> However, it would be equivalent to [A,B] which I am reading as A before B
>> but not in an actual resource relationship.
>>
>
>
Just to be a little more clear, when declaring resources I never use a
KNOWN empty-in-all-cases array in resource chains, so using "[]" is a leaky
analogy. Instead one example is:

Thing[a] -> Thing <| name == $::something::i::want |> -> Thing[b]

Some people assume that the Thing[$::something::i::want] is declared and if
not then that is an error state.

Some people assume that the Thing[$::something::i::want] may be declared,
but if not then that's fine.

But for all cases Thing[a] -> Thing[b] at most is desired, or at least is
possible. The only case in which disjointed dependencies are logically
different is when failures in Thing[a] do not skip the evaluation of
Thing[b] if and only if Thing[$::something::i::want] is undefined. Does
that occur in the real world? Not afaik.

-----

The other example that comes to mind is:

Thing[a] -> $might_contain_references -> Thing[b]

This differs from above as variables are parse-order dependent and
collectors are not (right?), and variables may be undefined or undef and
collectors are... neither of those things (instead the graph is updated
directly when collectors return resources, I believe).

A thought on semantic differencs from collectors: the value of a variable
is directly obveservable at evaluation time, and dependency chains can be
created based on this evaluation. Therefore I would posit that undef or
undefined variables in dependency chains are always an error state, whereas
empty collectors may or may not be.

-- 
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 puppet-dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-dev/CAJaQvGAx1ACQjG3nmQq91hS40hwx8J9KN2Xz%3DG_kc30AsHMZsA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to