Ah, we use trusted_node_data so that's probably why I'm hitting this (and
glad that I am so we caught that bug prior to release).

Why wouldn't this be the default?

Thanks,

Trevor

On Wed, Jul 15, 2015 at 3:41 PM, Adrien Thebo <[email protected]> wrote:

> And it looks like _I_ was too hasty; this is done when immutable_node_data
> is set. (
> https://github.com/puppetlabs/puppet/commit/8ccb3923b7ddd22e53d53dd193edc618b218a2a6
> )
>
> On Wed, Jul 15, 2015 at 12:40 PM Adrien Thebo <[email protected]>
> wrote:
>
>> It looks like we do:
>> https://github.com/puppetlabs/puppet/blob/master/lib/puppet/parser/scope.rb#L652-L654
>>
>> On Wed, Jul 15, 2015 at 12:39 PM Trevor Vaughan <[email protected]>
>> wrote:
>>
>>> Fair enough, and we usually do that. I just wanted to know what was
>>> frozen so that we could properly duplicate it in our spec tests.
>>>
>>> Out of curiosity, why not freeze all strings from Facter?
>>>
>>> On Wed, Jul 15, 2015 at 3:22 PM, Peter Huene <[email protected]
>>> > wrote:
>>>
>>>> On Wed, Jul 15, 2015 at 12:18 PM, Trevor Vaughan <
>>>> [email protected]> wrote:
>>>>
>>>>> Indeed, I did change it to that but it would still be nice to know
>>>>> what's going on so that I can stuff it into rspec and check for it.
>>>>>
>>>>>
>>>> Puppet's compiler intentionally freezes $trusted and its values.  If
>>>> you intend to support operating on arguments like this, you should be
>>>> creating a copy and not modifying the argument (probably a good rule to
>>>> follow anyway, especially for a function named "parse").
>>>>
>>>>
>>>>> Thanks,
>>>>>
>>>>> Trevor
>>>>>
>>>>> On Wed, Jul 15, 2015 at 2:59 PM, R.I.Pienaar <[email protected]> wrote:
>>>>>
>>>>>>
>>>>>>
>>>>>> ----- Original Message -----
>>>>>> > From: "Trevor Vaughan" <[email protected]>
>>>>>> > To: "puppet-dev" <[email protected]>
>>>>>> > Sent: Wednesday, July 15, 2015 7:50:36 PM
>>>>>> > Subject: Re: [Puppet-dev] How do you know what variables are frozen?
>>>>>>
>>>>>> > In this case, it was a custom function that was tripping things up.
>>>>>> >
>>>>>> > Looking through the code, I *think* this was the scenario:
>>>>>> >
>>>>>> > 1) Fact => trusted['certname']
>>>>>> > 2) Function call to parse_host($trusted['certname'])
>>>>>> > 3) Parse host:
>>>>>> >
>>>>>> > host = args.first
>>>>>> > host.strip! # Here's the offender
>>>>>> >
>>>>>> > I also tried seeing if dup'ing the args would work, but it copies
>>>>>> the
>>>>>> > frozen attribute with the String object (which makes sense).
>>>>>> >
>>>>>> > So, I don't know if I was trying to modify something from a Fact or
>>>>>> if the
>>>>>> > object just happened to be carrying the 'frozen' status as it went
>>>>>> along.
>>>>>>
>>>>>> so do not use strip! use x = something.strip? this way you dont try to
>>>>>> modify anything in scope.
>>>>>>
>>>>>> --
>>>>>> 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 [email protected].
>>>>>> To view this discussion on the web visit
>>>>>> https://groups.google.com/d/msgid/puppet-dev/1753817636.200946.1436986745705.JavaMail.zimbra%40devco.net
>>>>>> .
>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Trevor Vaughan
>>>>> Vice President, Onyx Point, Inc
>>>>> (410) 541-6699
>>>>>
>>>>> -- This account not approved for unencrypted proprietary information --
>>>>>
>>>>> --
>>>>> 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 [email protected].
>>>>> To view this discussion on the web visit
>>>>> https://groups.google.com/d/msgid/puppet-dev/CANs%2BFoWKrP%2Btj%2BJsiENkam9q7ohLGQd5-Z5Gfa%3DoE%2BsSX2D%2Bvw%40mail.gmail.com
>>>>> <https://groups.google.com/d/msgid/puppet-dev/CANs%2BFoWKrP%2Btj%2BJsiENkam9q7ohLGQd5-Z5Gfa%3DoE%2BsSX2D%2Bvw%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>>> .
>>>>>
>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> *Join us at **PuppetConf 2015, October 5-9 in Portland, OR - *www.
>>>> <http://www.google.com/url?q=http%3A%2F%2Fwww.&sa=D&sntz=1&usg=AFQjCNEnS7itqgvQV3E4Se1fu4Um_UapSw>
>>>> 2015.puppetconf.com
>>>> <http://www.google.com/url?q=http%3A%2F%2F2015.puppetconf.com&sa=D&sntz=1&usg=AFQjCNE1uQL4Sh23Vr-XkPLa4xfNcoXSog>
>>>>
>>>> *Register early to save 40%!*
>>>>
>>>> --
>>>> 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 [email protected].
>>>> To view this discussion on the web visit
>>>> https://groups.google.com/d/msgid/puppet-dev/CACZQQfOK4iJk7KcFT9_9n3pU-4U90Cxnhw2660FdafMCuYAggg%40mail.gmail.com
>>>> <https://groups.google.com/d/msgid/puppet-dev/CACZQQfOK4iJk7KcFT9_9n3pU-4U90Cxnhw2660FdafMCuYAggg%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>> .
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>
>>>
>>>
>>> --
>>> Trevor Vaughan
>>> Vice President, Onyx Point, Inc
>>> (410) 541-6699
>>>
>>> -- This account not approved for unencrypted proprietary information --
>>>
>>> --
>>> 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 [email protected].
>>> To view this discussion on the web visit
>>> https://groups.google.com/d/msgid/puppet-dev/CANs%2BFoWWtddJitXkpB56rMPsBBHgzXJ0XRxiKUO5rOQY5VAp8Q%40mail.gmail.com
>>> <https://groups.google.com/d/msgid/puppet-dev/CANs%2BFoWWtddJitXkpB56rMPsBBHgzXJ0XRxiKUO5rOQY5VAp8Q%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>> .
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>> --
>> Adrien Thebo | Puppet Labs
>>
> --
> Adrien Thebo | Puppet Labs
>
> --
> 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 [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/puppet-dev/CALVJ9S%2Bpju5nj%3DxF9yEipmBRHt9WSc-T6t%2BpXt_R7jbZXAhjEQ%40mail.gmail.com
> <https://groups.google.com/d/msgid/puppet-dev/CALVJ9S%2Bpju5nj%3DxF9yEipmBRHt9WSc-T6t%2BpXt_R7jbZXAhjEQ%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
>
> For more options, visit https://groups.google.com/d/optout.
>



-- 
Trevor Vaughan
Vice President, Onyx Point, Inc
(410) 541-6699

-- This account not approved for unencrypted proprietary information --

-- 
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 [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-dev/CANs%2BFoUX3DFij5nwQJ3rx%2B%3Dey0OjtLr3yDtQnLcj4VjBv%3DMTCw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to