On 01/26/2012 11:21 AM, Nick wrote:
> For example, suppose in one place I need a file to exist, and in another I
> also
> need it to be executable. Oh dear, I can't do that.
That, and you'd need to merge require/before etc. Such things aren't
trivial. Nan put it this way:
On 01/25/2012 03:59 PM, Nan Liu wrote:
>> Module a:
>> >
>> > file { "/foo/bar":
>> > ensure => 'present',
>> > owner => 'root',
>> > content => "blah blah",
>> > }
>> >
>> >
>> > Module b:
>> >
>> > file { "/foo/bar":
>> > ensure => 'present',
>> > mode => '0774',
>> > }
>> >
>> >
>> > Currently Puppet doesn't allow them to co-exist. It would be nice
if instead it
>> > could be told to check these definitions are consistent, and then
enforce the
>> > union of the two. The same principle could apply to users, groups,
packages,
>> > and presumably any other resources.
> How would this be implemented in a sane way to deal with any
> attributes that are hash/array? Merge, merge+unique, fail? What if we
> add relationship (require/before) or other meta-parameters to the mix?
> If I use the puppet config_version feature to track what resource is
> changed by which line of puppet code for auditing purpose, how would I
> audit a single attribute that can be due to multiple line of code?
> Once I started thinking about define types (which behave like a
> resource), it's gets rather complex especially with conditional
> branching in the define type.
>
> Don't get me wrong, this clearly would be a useful feature, but I'm
> interested only if the rules of how this would behave can be clearly
> expressed and understood, otherwise this will be a maze of pain trying
> to figure out what part of the code broke something.
--
You received this message because you are subscribed to the Google Groups
"Puppet Users" 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-users?hl=en.