On Wednesday, February 25, 2015 at 6:06:33 PM UTC-6, Trevor Vaughan wrote:
>
> I think I filed a bug about this a while back.
>
> +1 for autorequiring targets
>
>

I'm inclined to disagree.  Autorequiring should be reserved for cases where 
the requirement is inherent in the resource's nature.  Files' dependencies 
on their parent directories are a good example (except when ensuring 
'absent'): when a file and its directory are both under management, you 
cannot be confident of managing the file properly if you do not first 
manage its directory.

Symbolic links do *not* have the same kind of relationship with their 
targets.  A link can be managed entirely independently of its target, 
therefore Puppet should not automatically demand a particular order.  As a 
general rule, it is important for resource types to model their 
corresponding physical resources as cleanly as possible, lest unintended 
consequences arise.  In this particular case, autorequiring link targets 
can create dependency cycles in cases that would otherwise be perfectly 
good.

I observe, too, that in the example presented, the convenience afforded by 
the proposed autorequirement is a function of the *use* of the resource, 
not inherent in the resource itself.  Puppet cannot know that, or be 
expected to account for it.  It is the manifest author who should be 
expected to take responsibility for modeling such site-specific 
requirements.


John

-- 
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/1aecc279-4620-4a36-bfb4-8f38c9ea3479%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to