On Apr 17, 2012, at 1:31 PM, R.I.Pienaar wrote:
> ----- Original Message -----
>> From: "Andrew Parker" <[email protected]>
>> To: [email protected]
>> Sent: Tuesday, April 17, 2012 9:21:23 PM
>> Subject: Re: [Puppet-dev] Changes to variable scoping in Telly
>>
>> Other than because of bugs, facts are immutable, they are just
>> shadowable. We can end up with the illusion of mutation of variables
>> because of the strange interactions of inheritance with variable
>> lookup and sequence of evaluation. In order to get rid of some of
>> this confusion, I suggested an alternative, which is to remove node
>> from the language.
>
> I think we are kind of generally agreed that nodes are bad, but we have
> no idea what might replace them to meet the current needs right now, so
> that might be some way off. Certainly its not an incremental improvement
> thats easily deprecated - these special vars though would be.
>
> And simply removing them will not solve the basic problem, i think much
> of this was covered in the ticket referenced earlier.
As far as I understand removing node from the language is already well
supported since it can be emulated with constructs like:
include $hostname
or
case $hostname {
/foo.*/: { include foo::role }
}
The problems discussed in the ticket seem to revolve more around settings and
facts which can be considered orthogonal to the issue here if we just remove
node.
If this is too drastic of a change for now, then maybe the best course of
action is the leave node scoped variables in a "crippled" state. I think the
best course it to remove them from the language, but there may not be enough
consent to that. Independently of that we can try to tackle the other issues
you are bring up, but not right now.
--
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.