Get error with Puppet running on MIPS: Could not create resources for managing Puppet's files and directories in sections

StackOverflow https://stackoverflow.com/questions/23211178

  •  07-07-2023
  •  | 
  •  

Question

I try to port puppet running on MIPS platform, but get some errors. The version of the related software is here: Ruby: 1.8.7 ( cross-compile with openssl and openldap ), facter: 1.6.12, puppet: 2.7.19

When I execute the command: "puppet agent -t --trace --debug", I get the error message as follows, does anyone know how to fix these? Thanks a lot.

> puppet agent -t --trace --debug
warning: iconv doesn't seem to support UTF-8/UTF-16 conversions
debug: Puppet::Type::User::ProviderDirectoryservice: file /usr/bin/dscl does not exist
debug: Puppet::Type::User::ProviderUser_role_add: file roledel does not exist
debug: Puppet::Type::User::ProviderPw: file pw does not exist
debug: Puppet::Type::User::ProviderUseradd: file usermod does not exist
debug: Puppet::Type::User::ProviderLdap: true value when expecting false
debug: Puppet::Type::User::ProviderDirectoryservice: file /usr/bin/dscl does not exist
debug: Puppet::Type::User::ProviderUser_role_add: file roledel does not exist
debug: Puppet::Type::User::ProviderPw: file pw does not exist
debug: Puppet::Type::User::ProviderUseradd: file usermod does not exist
debug: Puppet::Type::User::ProviderLdap: true value when expecting false
/usr/lib/ruby/site_ruby/1.8/puppet/type/user.rb:355:in `exists?'
/usr/lib/ruby/site_ruby/1.8/puppet/util/settings.rb:451:in `service_user_available?'
/usr/lib/ruby/site_ruby/1.8/puppet/util/settings/file_setting.rb:45:in `use_service_user?'
/usr/lib/ruby/site_ruby/1.8/puppet/util/settings/file_setting.rb:40:in `owner'
/usr/lib/ruby/site_ruby/1.8/puppet/util/settings/file_setting.rb:109:in `to_resource'
/usr/lib/ruby/site_ruby/1.8/puppet/util/settings.rb:555:in `to_catalog'
/usr/lib/ruby/site_ruby/1.8/puppet/util/settings.rb:553:in `each'
/usr/lib/ruby/site_ruby/1.8/puppet/util/settings.rb:553:in `to_catalog'
/usr/lib/ruby/site_ruby/1.8/puppet/util/settings.rb:612:in `use'
/usr/lib/ruby/1.8/sync.rb:230:in `synchronize'
/usr/lib/ruby/site_ruby/1.8/puppet/util/settings.rb:606:in `use'
/usr/lib/ruby/site_ruby/1.8/puppet/application/agent.rb:459:in `setup'
/usr/lib/ruby/site_ruby/1.8/puppet/application.rb:307:in `run'
/usr/lib/ruby/site_ruby/1.8/puppet/application.rb:416:in `hook'
/usr/lib/ruby/site_ruby/1.8/puppet/application.rb:307:in `run'
/usr/lib/ruby/site_ruby/1.8/puppet/application.rb:407:in `exit_on_fail'
/usr/lib/ruby/site_ruby/1.8/puppet/application.rb:307:in `run'
/usr/lib/ruby/site_ruby/1.8/puppet/util/command_line.rb:69:in `execute'
/usr/bin/puppet:4
err: Could not create resources for managing Puppet's files and directories in sections [:main, :agent, :ssl]: undefined method `exists?' for nil:NilClass
debug: Puppet::Type::User::ProviderDirectoryservice: file /usr/bin/dscl does not exist
debug: Puppet::Type::User::ProviderUser_role_add: file roledel does not exist
debug: Puppet::Type::User::ProviderPw: file pw does not exist
debug: Puppet::Type::User::ProviderUseradd: file usermod does not exist
debug: Puppet::Type::User::ProviderLdap: true value when expecting false
debug: Puppet::Type::User::ProviderDirectoryservice: file /usr/bin/dscl does not exist
debug: Puppet::Type::User::ProviderUser_role_add: file roledel does not exist
debug: Puppet::Type::User::ProviderPw: file pw does not exist
debug: Puppet::Type::User::ProviderUseradd: file usermod does not exist
debug: Puppet::Type::User::ProviderLdap: true value when expecting false
/usr/lib/ruby/site_ruby/1.8/puppet/type/user.rb:355:in `exists?'
/usr/lib/ruby/site_ruby/1.8/puppet/util/settings.rb:451:in `service_user_available?'
/usr/lib/ruby/site_ruby/1.8/puppet/util/settings/file_setting.rb:45:in `use_service_user?'
/usr/lib/ruby/site_ruby/1.8/puppet/util/settings/file_setting.rb:40:in `owner'
/usr/lib/ruby/site_ruby/1.8/puppet/util/settings/file_setting.rb:109:in `to_resource'
/usr/lib/ruby/site_ruby/1.8/puppet/util/settings.rb:555:in `to_catalog'
/usr/lib/ruby/site_ruby/1.8/puppet/util/settings.rb:553:in `each'
/usr/lib/ruby/site_ruby/1.8/puppet/util/settings.rb:553:in `to_catalog'
/usr/lib/ruby/site_ruby/1.8/puppet/util/settings.rb:612:in `use'
/usr/lib/ruby/1.8/sync.rb:230:in `synchronize'
/usr/lib/ruby/site_ruby/1.8/puppet/util/settings.rb:606:in `use'
/usr/lib/ruby/site_ruby/1.8/puppet/indirector/ssl_file.rb:50:in `initialize'
/usr/lib/ruby/site_ruby/1.8/puppet/indirector/indirection.rb:321:in `new'
/usr/lib/ruby/site_ruby/1.8/puppet/indirector/indirection.rb:321:in `make_terminus'
/usr/lib/ruby/site_ruby/1.8/puppet/indirector/indirection.rb:130:in `terminus'
/usr/lib/ruby/site_ruby/1.8/puppet/indirector/indirection.rb:309:in `prepare'
/usr/lib/ruby/site_ruby/1.8/puppet/indirector/indirection.rb:188:in `find'
/usr/lib/ruby/site_ruby/1.8/puppet/ssl/host.rb:138:in `key'
/usr/lib/ruby/site_ruby/1.8/puppet/ssl/host.rb:195:in `certificate'
/usr/lib/ruby/site_ruby/1.8/puppet/ssl/host.rb:291:in `wait_for_cert'
/usr/lib/ruby/site_ruby/1.8/puppet/application/agent.rb:407:in `setup_host'
/usr/lib/ruby/site_ruby/1.8/puppet/application/agent.rb:425:in `setup_agent'
/usr/lib/ruby/site_ruby/1.8/puppet/application/agent.rb:484:in `setup'
/usr/lib/ruby/site_ruby/1.8/puppet/application.rb:307:in `run'
/usr/lib/ruby/site_ruby/1.8/puppet/application.rb:416:in `hook'
/usr/lib/ruby/site_ruby/1.8/puppet/application.rb:307:in `run'
/usr/lib/ruby/site_ruby/1.8/puppet/application.rb:407:in `exit_on_fail'
/usr/lib/ruby/site_ruby/1.8/puppet/application.rb:307:in `run'
/usr/lib/ruby/site_ruby/1.8/puppet/util/command_line.rb:69:in `execute'
/usr/bin/puppet:4
err: Could not create resources for managing Puppet's files and directories in sections [:main, :ssl]: undefined method `exists?' for nil:NilClass
info: Creating a new SSL key for mymachine.localdomain
Floating point exception
Was it helpful?

Solution

Puppet tries to create user and groups (possible because mkusers option).

But it couldn't do that because neither of user's provider work (because of lack of executable).

You can see it in the listing below.

debug: Puppet::Type::User::ProviderDirectoryservice: file /usr/bin/dscl does not exist
debug: Puppet::Type::User::ProviderUser_role_add: file roledel does not exist
debug: Puppet::Type::User::ProviderPw: file pw does not exist
debug: Puppet::Type::User::ProviderUseradd: file usermod does not exist
debug: Puppet::Type::User::ProviderLdap: true value when expecting false
debug: Puppet::Type::User::ProviderDirectoryservice: file /usr/bin/dscl does not exist
debug: Puppet::Type::User::ProviderUser_role_add: file roledel does not exist
debug: Puppet::Type::User::ProviderPw: file pw does not exist
debug: Puppet::Type::User::ProviderUseradd: file usermod does not exist
debug: Puppet::Type::User::ProviderLdap: true value when expecting false

So you should provide at least one of executable needed for user provider.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top