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.
