Issue #19315 has been updated by James Shubin.
I think it should definitely be allowed. Logically it makes sense. A variable is a variable, if we decide to treat a hash differently, then it makes puppet less elegant. One strong reason to include it is if you need to "loop" by passing an array to a function, without allowing hashes as $name's then this limits you to passing one variable to the function, instead of a set of variables through a hash. I'll be publishing a lot of puppet code in the coming months, which should explicitly show a good use case. The truth is, that simple users might not need this functionality, but if we take out things like this, it stops us from being creative and "pushing puppet to it's limits" Please keep this in, but fix the bugs surrounding it. Thanks, James ---------------------------------------- Bug #19315: puppet is buggy when using a hash as a $name https://projects.puppetlabs.com/issues/19315#change-83398 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.
