Issue #14210 has been updated by Cody Herriges.

Description updated


----------------------------------------
Bug #14210: Creating a relationship on half a composite namevar throws 
uninformative error.
https://projects.puppetlabs.com/issues/14210#change-61513

Author: Cody Herriges
Status: Accepted
Priority: Normal
Assignee: 
Category: plumbing
Target version: 
Affected Puppet version: 
Keywords: 
Branch: 


If you are creating relationships to a composite namevar and forget the 
qualifying portion of the title you will get a no method found error instead of 
an unable to find resource for relationship error.  The following is the 
stacktrace and error.

<pre>
/opt/puppet/lib/site_ruby/1.8/puppet/resource.rb:235:in `to_hash'
/opt/puppet/lib/site_ruby/1.8/puppet/resource.rb:244:in `uniqueness_key'
/opt/puppet/lib/site_ruby/1.8/puppet/resource/catalog.rb:427:in `resource'
/opt/puppet/lib/site_ruby/1.8/puppet/type.rb:1182:in `validate_relationship'
/opt/puppet/lib/site_ruby/1.8/puppet/type.rb:1181:in `each'
/opt/puppet/lib/site_ruby/1.8/puppet/type.rb:1181:in `validate_relationship'
/opt/puppet/lib/site_ruby/1.8/puppet/type.rb:1846:in `finish'
/opt/puppet/lib/site_ruby/1.8/puppet/type.rb:1844:in `collect'
/opt/puppet/lib/site_ruby/1.8/puppet/type.rb:1844:in `finish'
/opt/puppet/lib/site_ruby/1.8/puppet/type/file.rb:392:in `finish'
/opt/puppet/lib/site_ruby/1.8/puppet/resource/catalog.rb:253:in `finalize'
/opt/puppet/lib/site_ruby/1.8/puppet/resource/catalog.rb:253:in `each'
/opt/puppet/lib/site_ruby/1.8/puppet/resource/catalog.rb:253:in `finalize'
/opt/puppet/lib/site_ruby/1.8/puppet/configurer.rb:102:in `convert_catalog'
/opt/puppet/lib/site_ruby/1.8/puppet/configurer.rb:96:in `retrieve_catalog'
/opt/puppet/lib/site_ruby/1.8/puppet/configurer.rb:112:in 
`retrieve_and_apply_catalog'
/opt/puppet/lib/site_ruby/1.8/puppet/configurer.rb:152:in `run'
/opt/puppet/lib/site_ruby/1.8/puppet/agent.rb:44:in `run'
/opt/puppet/lib/site_ruby/1.8/puppet/agent/locker.rb:21:in `lock'
/opt/puppet/lib/site_ruby/1.8/puppet/agent.rb:44:in `run'
/opt/puppet/lib/ruby/1.8/sync.rb:230:in `synchronize'
/opt/puppet/lib/site_ruby/1.8/puppet/agent.rb:44:in `run'
/opt/puppet/lib/site_ruby/1.8/puppet/agent.rb:108:in `with_client'
/opt/puppet/lib/site_ruby/1.8/puppet/agent.rb:42:in `run'
/opt/puppet/lib/site_ruby/1.8/puppet/application.rb:172:in `call'
/opt/puppet/lib/site_ruby/1.8/puppet/application.rb:172:in `controlled_run'
/opt/puppet/lib/site_ruby/1.8/puppet/agent.rb:40:in `run'
/opt/puppet/lib/site_ruby/1.8/puppet/application/agent.rb:337:in `onetime'
/opt/puppet/lib/site_ruby/1.8/puppet/application/agent.rb:311:in `run_command'
/opt/puppet/lib/site_ruby/1.8/puppet/application.rb:309:in `run'
/opt/puppet/lib/site_ruby/1.8/puppet/application.rb:416:in `hook'
/opt/puppet/lib/site_ruby/1.8/puppet/application.rb:309:in `run'
/opt/puppet/lib/site_ruby/1.8/puppet/application.rb:407:in `exit_on_fail'
/opt/puppet/lib/site_ruby/1.8/puppet/application.rb:309:in `run'
/opt/puppet/lib/site_ruby/1.8/puppet/util/command_line.rb:69:in `execute'
/usr/local/bin/puppet:4
err: Failed to apply catalog: undefined method `merge' for #<Array:0xb5cc9ba0>
</pre>

This was found while working on 
https://github.com/puppetlabs/puppetlabs-java_ks.  The relationship 
Java_ks['vhost.example.com'] will fail but 
Java_ks['vhost.example.com:keystore'] will succeed.

Note: Redmine is hiding the object type on the last line of the error 
above...even in a pre block.


-- 
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 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-bugs?hl=en.

Reply via email to