Bug #2654
Confusing error message when a provider lacks a feature
| Status: | Closed | Start date: | 09/18/2009 | |
|---|---|---|---|---|
| Priority: | Normal | Due date: | ||
| Assignee: | % Done: | 0% |
||
| Category: | error reporting | |||
| Target version: | 0.25.1 | |||
| Affected Puppet version: | 0.25.0 | Branch: | http://github.com/MarkusQ/puppet/tree/ticket/master/2654 | |
| Keywords: | ||||
| Votes: | 0 |
Description
While rolling out Puppet on all my machines, none of the RHEL4 machines seem to be working with 0.25. Some (like this one) are fresh installs, some are upgrades from Ruby 1.8.1 and Puppet 0.24.8. All have the same error so far. This is the software:
ruby-augeas-0.3.0-1.el4 augeas-libs-0.5.2-1.el4 ruby-1.8.5-5.el4.centos.1 puppet-0.25.0-0.4.el4 ruby-libs-1.8.5-5.el4.centos.1 facter-1.5.7-0.1.rc1.el4
This is the error I’m getting:
[root@content.domain.org~] puppetd —trace —test —debug —verbose
debug: Failed to load library ‘shadow’ for feature ‘libshadow’
debug: Puppet::Type::User::ProviderPw: file pw does not exist
debug: Puppet::Type::User::ProviderUser_role_add: file roleadd does not exist
debug: Puppet::Type::User::ProviderDirectoryservice: file /usr/bin/dscl does not exist
debug: Puppet::Type::User::ProviderLdap: true value when expecting false
debug: Failed to load library ‘ldap’ for feature ‘ldap’
debug: /File[/var/lib/puppet/ssl/public_keys]: Autorequiring File[/var/lib/puppet/ssl]
debug: /File[/var/lib/puppet/state/state.yaml]: Autorequiring File[/var/lib/puppet/state]
debug: /File[/var/lib/puppet/ssl/certificate_requests]: Autorequiring File[/var/lib/puppet/ssl]
debug: /File[/var/lib/puppet/ssl]: Autorequiring File[/var/lib/puppet]
debug: /File[/var/lib/puppet/ssl/private_keys/content.domain.org.pem]: Autorequiring File[/var/lib/puppet/ssl/private_keys]
debug: /File[/var/lib/puppet/classes.txt]: Autorequiring File[/var/lib/puppet]
debug: /File[/etc/puppet/puppet.conf]: Autorequiring File[/etc/puppet]
debug: /File[/var/lib/puppet/ssl/private]: Autorequiring File[/var/lib/puppet/ssl]
debug: /File[/var/lib/puppet/lib]: Autorequiring File[/var/lib/puppet]
debug: /File[/var/lib/puppet/ssl/certs/content.domain.org.pem]: Autorequiring File[/var/lib/puppet/ssl/certs]
debug: /File[/var/lib/puppet/clientbucket]: Autorequiring File[/var/lib/puppet]
debug: /File[/var/lib/puppet/ssl/certs/ca.pem]: Autorequiring File[/var/lib/puppet/ssl/certs]
debug: /File[/var/lib/puppet/ssl/crl.pem]: Autorequiring File[/var/lib/puppet/ssl]
debug: /File[/var/lib/puppet/ssl/certs]: Autorequiring File[/var/lib/puppet/ssl]
debug: /File[/var/lib/puppet/ssl/private_keys]: Autorequiring File[/var/lib/puppet/ssl]
debug: /File[/var/lib/puppet/state/graphs]: Autorequiring File[/var/lib/puppet/state]
debug: /File[/var/lib/puppet/state]: Autorequiring File[/var/lib/puppet]
debug: /File[/var/lib/puppet/facts]: Autorequiring File[/var/lib/puppet]
debug: /File[/var/lib/puppet/ssl/public_keys/content.domain.org.pem]: Autorequiring File[/var/lib/puppet/ssl/public_keys]
debug: /File[/var/lib/puppet/client_yaml]: Autorequiring File[/var/lib/puppet]
debug: Finishing transaction 91452033460 with 0 changes
debug: Using cached certificate for ca
debug: Using cached certificate for content.domain.org
debug: Loaded state in 0.00 seconds
debug: Using cached certificate for ca
debug: Using cached certificate for content.domain.org
debug: Using cached certificate_revocation_list for ca
debug: Format s not supported for Puppet::Resource::Catalog; has not implemented method ‘from_s’
debug: Puppet::Network::Format[json]: false value when expecting true
info: Caching catalog for content.domain.org
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: Puppet::Type::Package::ProviderSun: file /usr/bin/pkginfo does not exist
debug: Puppet::Type::Package::ProviderFink: file /sw/bin/fink does not exist
debug: Puppet::Type::Package::ProviderDpkg: file /usr/bin/dpkg does not exist
debug: Puppet::Type::Package::ProviderPorts: file /usr/sbin/pkg_info does not exist
debug: Puppet::Type::Package::ProviderGem: file gem does not exist
debug: Puppet::Type::Package::ProviderAptrpm: file apt-get does not exist
debug: Puppet::Type::Package::ProviderSunfreeware: file pkg-get does not exist
debug: Puppet::Type::Package::ProviderFreebsd: file /usr/sbin/pkg_delete does not exist
debug: Puppet::Type::Package::ProviderOpenbsd: file pkg_delete does not exist
debug: Puppet::Type::Package::ProviderAptitude: file /usr/bin/aptitude does not exist
debug: Puppet::Type::Package::ProviderRug: file /usr/bin/rug does not exist
debug: Puppet::Type::Package::ProviderUrpmi: file urpmi does not exist
debug: Puppet::Type::Package::ProviderHpux: file /usr/sbin/swlist does not exist
debug: Puppet::Type::Package::ProviderApt: file /usr/bin/apt-get does not exist
debug: Puppet::Type::Package::ProviderYum: file yum does not exist
debug: Puppet::Type::Package::ProviderPortage: file /usr/bin/emerge does not exist
/usr/lib64/site_ruby/1.8/puppet/property.rb:387:in validate_features_per_value'
/usr/lib64/site_ruby/1.8/puppet/property.rb:381:inunsafe_validate'
/usr/lib64/site_ruby/1.8/puppet/parameter.rb:489:in validate'
/usr/lib64/site_ruby/1.8/puppet/property.rb:352:inshould=‘
/usr/lib64/site_ruby/1.8/puppet/property.rb:352:in each'
/usr/lib64/site_ruby/1.8/puppet/property.rb:352:inshould=’
/usr/lib64/site_ruby/1.8/puppet/property.rb:399:in value='
/usr/lib64/site_ruby/1.8/puppet/util/methodhelper.rb:16:insend'
/usr/lib64/site_ruby/1.8/puppet/util/methodhelper.rb:16:in set_options'
/usr/lib64/site_ruby/1.8/puppet/util/methodhelper.rb:13:ineach'
/usr/lib64/site_ruby/1.8/puppet/util/methodhelper.rb:13:in set_options'
/usr/lib64/site_ruby/1.8/puppet/parameter.rb:407:ininitialize'
/usr/lib64/site_ruby/1.8/puppet/property.rb:184:in initialize'
/usr/lib64/site_ruby/1.8/puppet/type.rb:525:innew'
/usr/lib64/site_ruby/1.8/puppet/type.rb:525:in newattr'
/usr/lib64/site_ruby/1.8/puppet/type.rb:455:in[]=‘
/usr/lib64/site_ruby/1.8/puppet/type.rb:1935:in set_parameters'
/usr/lib64/site_ruby/1.8/puppet/type.rb:1929:ineach’
/usr/lib64/site_ruby/1.8/puppet/type.rb:1929:in set_parameters'
/usr/lib64/site_ruby/1.8/puppet/type.rb:1909:ininitialize'
/usr/lib64/site_ruby/1.8/puppet/resource.rb:177:in new'
/usr/lib64/site_ruby/1.8/puppet/resource.rb:177:into_ral'
/usr/lib64/site_ruby/1.8/puppet/resource/catalog.rb:565:in send'
/usr/lib64/site_ruby/1.8/puppet/resource/catalog.rb:565:into_catalog'
/usr/lib64/site_ruby/1.8/puppet/resource/catalog.rb:543:in each'
/usr/lib64/site_ruby/1.8/puppet/resource/catalog.rb:543:into_catalog'
/usr/lib64/site_ruby/1.8/puppet/resource/catalog.rb:463:in to_ral'
/usr/lib64/site_ruby/1.8/puppet/configurer.rb:125:inconvert_catalog'
/usr/lib64/site_ruby/1.8/puppet/configurer.rb:120:in retrieve_catalog'
/usr/lib64/site_ruby/1.8/puppet/configurer.rb:140:inrun'
/usr/lib64/site_ruby/1.8/puppet/agent.rb:53:in run'
/usr/lib64/site_ruby/1.8/puppet/agent/locker.rb:21:inlock'
/usr/lib64/site_ruby/1.8/puppet/agent.rb:53:in run'
/usr/lib/ruby/1.8/sync.rb:229:insynchronize'
/usr/lib64/site_ruby/1.8/puppet/agent.rb:53:in run'
/usr/lib64/site_ruby/1.8/puppet/agent.rb:130:inwith_client'
/usr/lib64/site_ruby/1.8/puppet/agent.rb:51:in run'
/usr/lib64/site_ruby/1.8/puppet/application/puppetd.rb:103:inonetime'
/usr/lib64/site_ruby/1.8/puppet/application.rb:226:in send'
/usr/lib64/site_ruby/1.8/puppet/application.rb:226:inrun_command'
/usr/lib64/site_ruby/1.8/puppet/application.rb:217:in run'
/usr/lib64/site_ruby/1.8/puppet/application.rb:306:inexit_on_fail'
/usr/lib64/site_ruby/1.8/puppet/application.rb:217:in run'
/usr/sbin/puppetd:159
err: Could not run Puppet configuration client: Parameter ensure failed: Validate method failed for class ensure: undefined methodcollect' for :versionable:Symbol
[root@content.domain.org~]
History
Updated by Josh Endries over 2 years ago
- Affected Puppet version changed from 0.24.8 to 0.25.0
With the help of Volcane on IRC I fixed this. I was using up2date which doesn’t have versions. Sorry!
Updated by R.I. Pienaar over 2 years ago
The error message should be improved though in puppet/property.rb:387
Updated by James Turnbull over 2 years ago
- Category set to error reporting
- Status changed from Unreviewed to Accepted
- Target version set to 0.25.1
Looks like the method that validates features in providers needs to be a little more robust.
Updated by James Turnbull over 2 years ago
- Subject changed from Error running the config client with 0.25 on RHEL4: undefined method `collect' for :versionable:Symbol to Confusing error message when a provider lacks a feature
Updated by Markus Roberts over 2 years ago
- Assignee set to Markus Roberts
Updated by Markus Roberts over 2 years ago
- Status changed from Accepted to In Topic Branch Pending Review
- Branch set to http://github.com/MarkusQ/puppet/tree/ticket/master/2654
Updated by James Turnbull over 2 years ago
- Status changed from In Topic Branch Pending Review to Closed
Pushed in commit:a5950339f43e08516130ff0b7463dbe3fa925890 in branch 0.25.x