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.

Reply via email to