Issue #15575 has been updated by Derek Higgins.

Currently getting a similar error using the puppetlabs-nova modules on Fedora 
17, see details below

    [root@f17 modules]# git clone 
git://github.com/puppetlabs/puppetlabs-nova.git nova
    [root@f17 modules]# rpm -qa | grep -i -e ruby-1 -e puppet
    ruby-1.9.3.194-16.fc17.x86_64
    puppet-2.7.18-1.fc17.noarch
    [root@f17 modules]# cat /root/t.pp
    class {'nova':}
    nova_config { 'api_paste_config': value => '/etc/nova/api-paste.ini'; }
    [root@f17 modules]# puppet apply /root/t.pp  --trace --debug --verbose 
    /usr/share/rubygems/rubygems/custom_require.rb:36:in `require': iconv will 
be deprecated in the future, use String#encode instead.
    info: Loading facts in 
/etc/puppet/modules/stdlib/lib/facter/puppet_vardir.rb
    info: Loading facts in /etc/puppet/modules/stdlib/lib/facter/root_home.rb
    debug: importing '/etc/puppet/modules/nova/manifests/init.pp' in 
environment production
    warning: You cannot collect exported resources without storeconfigs being 
set; the collection will be ignored on line 142 in file 
/etc/puppet/modules/nova/manifests/init.pp
    warning: You cannot collect exported resources without storeconfigs being 
set; the collection will be ignored on line 152 in file 
/etc/puppet/modules/nova/manifests/init.pp
    warning: You cannot collect exported resources without storeconfigs being 
set; the collection will be ignored on line 168 in file 
/etc/puppet/modules/nova/manifests/init.pp
    debug: Automatically imported nova from nova into production
    debug: importing '/etc/puppet/modules/nova/manifests/params.pp' in 
environment production
    debug: Automatically imported nova::params from nova/params into production
    debug: Puppet::Type::Package::ProviderRpm: Executing '/bin/rpm --version'
    debug: Puppet::Type::Package::ProviderUrpmi: Executing '/bin/rpm -ql rpm'
    debug: Puppet::Type::Package::ProviderYum: Executing '/bin/rpm --version'
    debug: Puppet::Type::Package::ProviderAptrpm: Executing '/bin/rpm -ql rpm'
    debug: importing '/etc/puppet/modules/nova/manifests/utilities.pp' in 
environment production
    debug: Automatically imported nova::utilities from nova/utilities into 
production
    debug: Failed to load library 'ldap' for feature 'ldap'
    /usr/share/ruby/vendor_ruby/puppet/parser/collector.rb:35:in `block in 
evaluate'
    /usr/share/ruby/vendor_ruby/puppet/parser/resource.rb:143:in `merge'
    /usr/share/ruby/vendor_ruby/puppet/parser/compiler.rb:45:in `add_override'
    /usr/share/ruby/vendor_ruby/puppet/parser/collector.rb:50:in `block in 
evaluate'
    /usr/share/ruby/vendor_ruby/puppet/parser/collector.rb:40:in `each'
    /usr/share/ruby/vendor_ruby/puppet/parser/collector.rb:40:in `evaluate'
    /usr/share/ruby/vendor_ruby/puppet/parser/compiler.rb:240:in `block (2 
levels) in evaluate_collections'
    /usr/share/ruby/vendor_ruby/puppet/parser/compiler.rb:239:in `each'
    /usr/share/ruby/vendor_ruby/puppet/parser/compiler.rb:239:in `block in 
evaluate_collections'
    /usr/share/ruby/vendor_ruby/puppet/util/errors.rb:35:in `exceptwrap'
    /usr/share/ruby/vendor_ruby/puppet/parser/compiler.rb:235:in 
`evaluate_collections'
    /usr/share/ruby/vendor_ruby/puppet/parser/compiler.rb:266:in `block in 
evaluate_generators'
    /usr/share/ruby/vendor_ruby/puppet/parser/compiler.rb:262:in `loop'
    /usr/share/ruby/vendor_ruby/puppet/parser/compiler.rb:262:in 
`evaluate_generators'
    /usr/share/ruby/vendor_ruby/puppet/parser/compiler.rb:105:in `compile'
    /usr/share/ruby/vendor_ruby/puppet/parser/compiler.rb:24:in `compile'
    /usr/share/ruby/vendor_ruby/puppet/indirector/catalog/compiler.rb:77:in 
`block in compile'
    /usr/share/ruby/vendor_ruby/puppet/util.rb:165:in `benchmark'
    /usr/share/ruby/vendor_ruby/puppet/indirector/catalog/compiler.rb:75:in 
`compile'
    /usr/share/ruby/vendor_ruby/puppet/indirector/catalog/compiler.rb:35:in 
`find'
    /usr/share/ruby/vendor_ruby/puppet/indirector/indirection.rb:196:in `find'
    /usr/share/ruby/vendor_ruby/puppet/application/apply.rb:218:in `main'
    /usr/share/ruby/vendor_ruby/puppet/application/apply.rb:149:in `run_command'
    /usr/share/ruby/vendor_ruby/puppet/application.rb:309:in `block (2 levels) 
in run'
    /usr/share/ruby/vendor_ruby/puppet/application.rb:416:in `hook'
    /usr/share/ruby/vendor_ruby/puppet/application.rb:309:in `block in run'
    /usr/share/ruby/vendor_ruby/puppet/application.rb:407:in `exit_on_fail'
    /usr/share/ruby/vendor_ruby/puppet/application.rb:309:in `run'
    /usr/share/ruby/vendor_ruby/puppet/util/command_line.rb:69:in `execute'
    /bin/puppet:4:in `<main>'
    /usr/share/ruby/vendor_ruby/puppet/parser/compiler.rb:27:in `rescue in 
compile'
    /usr/share/ruby/vendor_ruby/puppet/parser/compiler.rb:20:in `compile'
    /usr/share/ruby/vendor_ruby/puppet/indirector/catalog/compiler.rb:77:in 
`block in compile'
    /usr/share/ruby/vendor_ruby/puppet/util.rb:165:in `benchmark'
    /usr/share/ruby/vendor_ruby/puppet/indirector/catalog/compiler.rb:75:in 
`compile'
    /usr/share/ruby/vendor_ruby/puppet/indirector/catalog/compiler.rb:35:in 
`find'
    /usr/share/ruby/vendor_ruby/puppet/indirector/indirection.rb:196:in `find'
    /usr/share/ruby/vendor_ruby/puppet/application/apply.rb:218:in `main'
    /usr/share/ruby/vendor_ruby/puppet/application/apply.rb:149:in `run_command'
    /usr/share/ruby/vendor_ruby/puppet/application.rb:309:in `block (2 levels) 
in run'
    /usr/share/ruby/vendor_ruby/puppet/application.rb:416:in `hook'
    /usr/share/ruby/vendor_ruby/puppet/application.rb:309:in `block in run'
    /usr/share/ruby/vendor_ruby/puppet/application.rb:407:in `exit_on_fail'
    /usr/share/ruby/vendor_ruby/puppet/application.rb:309:in `run'
    /usr/share/ruby/vendor_ruby/puppet/util/command_line.rb:69:in `execute'
    /bin/puppet:4:in `<main>'
    Puppet::Parser::Compiler failed with error ArgumentError: wrong number of 
arguments (1 for 0) on node f17.novalocal
    [root@f17 modules]# 
    
----------------------------------------
Bug #15575: Compile error overriding resource attributes using collection block 
in ruby 1.9
https://projects.puppetlabs.com/issues/15575#change-73208

Author: Craig Dunn
Status: Accepted
Priority: Normal
Assignee: 
Category: 
Target version: 
Affected Puppet version: 
Keywords: ruby19
Branch: 


When compiling the following code:

<pre>
  exec { 'testexec':
    path  => '/usr/local/bin:/usr/bin:/bin',
    command => 'echo running test',
    refreshonly => false,
  }
  Exec <| title == 'testexec' |> {
    refreshonly => true,
  }
</pre>

I get the following failure under Ruby 1.9

<pre>
Error: Puppet::Parser::Compiler failed with error ArgumentError: wrong number 
of arguments (1 for 0) on node craigs-macbook-air.local
Error: Puppet::Parser::Compiler failed with error ArgumentError: wrong number 
of arguments (1 for 0) on node craigs-macbook-air.local
</pre>

This works on Ruby 1.8.7 for Puppet 2.7.17 and 3.0 but fails for both on 1.9...

Tested on 1.9.2 and 1.9.3






-- 
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