Issue #19315 has been updated by James Shubin.

....Thanks for replying by the way.

I forgot to mention, that you *can* reference a resource with a hash namevar. 
You either type out the hash, or you store the hash in a variable, and you use 
that variable. I think the bug might lie in that when the compiler turns the 
hash into a string for it's internal representation of the $name variable as a 
string, it does it in a non-deterministic way. We should probably just ensure 
that if it's turning it into a string, that it sort() the print order by 
keyname first. Make sense?

Cheers!

----------------------------------------
Bug #19315: puppet is buggy when using a hash as a $name
https://projects.puppetlabs.com/issues/19315#change-83399

Author: James Shubin
Status: Unreviewed
Priority: Normal
Assignee: 
Category: 
Target version: 
Affected Puppet version: 
Keywords: 
Branch: 


<pre>

It turns out if you're doing some fancy puppet work, it is sometimes useful to 
use a hash as a $name var.
In my particular case, I'm actually passing an array of hashes to a define 
(which ultimately causes the define to be called once for each hash).
This actually works perfectly when run locally with puppet apply, however when 
running with puppet agent --test, it sometimes works and sometimes fails with:

Error: Could not retrieve catalog from remote server: Could not intern from 
pson: Could not convert from pson: Could not find relationship source 
"Foo::Bar::My_define[sourcedmzaddress192.168.101.200]"

The hash I used was:
{'source' => 'dmz', 'address' => '192.168.101.200'}

A few comments:
1. It's strange that the execution is not deterministic. Why does it sometimes 
work and sometimes not?
2. It's odd that it *always* works locally, but not always when through the 
puppet master.
3. The error message is confusing, not sure what it is trying to tell me.

Thanks,
James
</pre>



-- 
You have received this notification because you have either subscribed to it, 
or are involved in it.
To change your notification preferences, please click here: 
http://projects.puppetlabs.com/my/account

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Bugs" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/puppet-bugs?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to