Issue #15117 has been reported by Wolf Noble.
----------------------------------------
Bug #15117: Error 400 on SERVER: undefined method `<<' for {}:Hash when a
resource has both a before => parameter, and -> ordering.
https://projects.puppetlabs.com/issues/15117
Author: Wolf Noble
Status: Unreviewed
Priority: Normal
Assignee:
Category:
Target version:
Affected Puppet version:
Keywords:
Branch:
Hello, here's an example:
class syslog::debian::rsyslog {
#take advantage of the Anchor pattern
Anchor ['syslog::debian::begin']
-> anchor {'syslog::debian::rsyslog::begin':}
-> anchor {'syslog::debian::rsyslog::prune':}
-> anchor {'syslog::debian::rsyslog::install::begin':}
-> anchor {'syslog::debian::rsyslog::install::end':}
-> anchor {'syslog::debian::rsyslog::configure::begin':}
-> anchor {'syslog::debian::rsyslog::configure::end':}
-> anchor {'syslog::debian::rsyslog::service::begin':}
-> anchor {'syslog::debian::rsyslog::service::end':}
-> anchor {'syslog::debian::rsyslog::end':}
-> Anchor ['syslog::debian::end']
# resources
file { 'syslog_fact':
ensure => 'present',
path => '/etc/puppetlabs/facter/facts.d/syslog_provider',
content => 'syslog_provider=rsyslog',
before => Anchor['syslog::debian::rsyslog::end'],
} -> Anchor['syslog::debian::rsyslog::install::begin']
}
which results in:
root@pe-ubuntu:/var/opt/lib/pe-puppet/lib/facter# puppet agent apply --verbose
--no-daemonize --trace
notice: Starting Puppet client version 2.7.12 (Puppet Enterprise 2.5.1)
info: Retrieving plugin
info: Loading facts in /var/opt/lib/pe-puppet/lib/facter/iptables.rb
info: Loading facts in /var/opt/lib/pe-puppet/lib/facter/dpqlgc.rb
info: Loading facts in /var/opt/lib/pe-puppet/lib/facter/dpmem.rb
info: Loading facts in /var/opt/lib/pe-puppet/lib/facter/dposmajor.rb
info: Loading facts in /var/opt/lib/pe-puppet/lib/facter/dplumsvr.rb
info: Loading facts in /var/opt/lib/pe-puppet/lib/facter/dppubip.rb
info: Loading facts in /var/opt/lib/pe-puppet/lib/facter/ldapserver.rb
info: Loading facts in /var/opt/lib/pe-puppet/lib/facter/facter_dot_d.rb
info: Loading facts in /var/opt/lib/pe-puppet/lib/facter/portstate.rb
info: Loading facts in /var/opt/lib/pe-puppet/lib/facter/dprhnsystem_id.rb
info: Loading facts in /var/opt/lib/pe-puppet/lib/facter/root_home.rb
info: Loading facts in /var/opt/lib/pe-puppet/lib/facter/ldapclient.rb
info: Loading facts in /var/opt/lib/pe-puppet/lib/facter/lumension.rb
info: Loading facts in /var/opt/lib/pe-puppet/lib/facter/dpcore.rb
info: Loading facts in /var/opt/lib/pe-puppet/lib/facter/puppet_vardir.rb
info: Loading facts in /var/opt/lib/pe-puppet/lib/facter/hpacucli.rb
info: Loading facts in /var/opt/lib/pe-puppet/lib/facter/dpduck.rb
sh: Syntax error: Bad fd number
/opt/puppet/lib/site_ruby/1.8/puppet/indirector/rest.rb:56:in `deserialize'
/opt/puppet/lib/site_ruby/1.8/puppet/indirector/rest.rb:120:in `find'
/opt/puppet/lib/site_ruby/1.8/puppet/indirector/indirection.rb:196:in `find'
/opt/puppet/lib/site_ruby/1.8/puppet/configurer.rb:240:in `retrieve_new_catalog'
/opt/puppet/lib/site_ruby/1.8/puppet/util.rb:467:in `thinmark'
/opt/puppet/lib/ruby/1.8/benchmark.rb:308:in `realtime'
/opt/puppet/lib/site_ruby/1.8/puppet/util.rb:466:in `thinmark'
/opt/puppet/lib/site_ruby/1.8/puppet/configurer.rb:239:in `retrieve_new_catalog'
/opt/puppet/lib/site_ruby/1.8/puppet/configurer.rb:86: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/agent.rb:83:in `start'
/opt/puppet/lib/site_ruby/1.8/puppet/external/event-loop/signal-system.rb:95:in
`call'
/opt/puppet/lib/site_ruby/1.8/puppet/external/event-loop/signal-system.rb:95:in
`__signal__'
/opt/puppet/lib/site_ruby/1.8/puppet/external/event-loop/signal-system.rb:95:in
`each'
/opt/puppet/lib/site_ruby/1.8/puppet/external/event-loop/signal-system.rb:95:in
`__signal__'
(eval):2:in `signal'
/opt/puppet/lib/site_ruby/1.8/puppet/external/event-loop/event-loop.rb:317:in
`sound_alarm'
/opt/puppet/lib/site_ruby/1.8/puppet/agent.rb:87:in `start'
/opt/puppet/lib/site_ruby/1.8/puppet/daemon.rb:124:in `start'
/opt/puppet/lib/site_ruby/1.8/puppet/application/agent.rb:357:in `main'
/opt/puppet/lib/site_ruby/1.8/puppet/application/agent.rb:312: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: Could not retrieve catalog from remote server: Error 400 on SERVER:
undefined method `<<' for {}:Hash on node pe-ubuntu.wolfspaw.com
info: Not using expired catalog for pe-ubuntu.wolfspaw.com from cache; expired
at Tue Jun 19 21:00:26 +0000 2012
notice: Using cached catalog
err: Could not retrieve catalog; skipping run
the bad fd error seen above is irrelevant. it has to do with a custom fact of
mine that's breaking on ubuntu and I haven't fixed it yet. I do not believe it
has anything to do with the issue here.
--
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.