I'm trying to set up the Puppet class browser<Puppet class browser - Foreman>in Foreman 1.1-1 so I can show some documentation about my puppet classes.
When I run the rake task I get the error "undefined method `keys' for
#<Array:0x7f97d3c953e8>. Here is the full trace:
me@myforemanserver:/usr/local/foreman-1.1-1> RAILS_ENV=development rake
puppet:rdoc:generate --trace
** Invoke puppet:rdoc:generate (first_time)
** Invoke environment (first_time)
** Execute environment
** Invoke puppet:rdoc:prepare (first_time)
** Invoke environment
** Execute puppet:rdoc:prepare
** Execute puppet:rdoc:generate
rake aborted!
undefined method keys' for #<Array:0x7f97d3c953e8> /usr/local/foreman-1.1-1/app/models/environment.rb:42:in
puppetEnvs'
/usr/lib/ruby/gems/1.8/gems/activesupport-3.0.20/lib/active_support/dependencies.rb:458:in
map' /usr/local/foreman-1.1-1/app/models/environment.rb:41:in
each'
/usr/local/foreman-1.1-1/app/models/environment.rb:41:in map' /usr/local/foreman-1.1-1/app/models/environment.rb:41:in
puppetEnvs'
/usr/local/foreman-1.1-1/app/models/environment.rb:40:in map' /usr/local/foreman-1.1-1/app/models/environment.rb:40:in
puppetEnvs'
/usr/local/foreman-1.1-1/app/models/puppetclass.rb:80:in rdoc' /usr/local/foreman-1.1-1/lib/tasks/puppet.rake:17 /usr/lib/ruby/gems/1.8/gems/rake-10.0.3/lib/rake/task.rb:228:in
call'
/usr/lib/ruby/gems/1.8/gems/rake-10.0.3/lib/rake/task.rb:228:in execute' /usr/lib/ruby/gems/1.8/gems/rake-10.0.3/lib/rake/task.rb:223:in
each'
/usr/lib/ruby/gems/1.8/gems/rake-10.0.3/lib/rake/task.rb:223:in execute' /usr/lib/ruby/gems/1.8/gems/rake-10.0.3/lib/rake/task.rb:166:in
invoke_with_call_chain'
/usr/lib/ruby/1.8/monitor.rb:242:in synchronize' /usr/lib/ruby/gems/1.8/gems/rake-10.0.3/lib/rake/task.rb:159:in
invoke_with_call_chain'
/usr/lib/ruby/gems/1.8/gems/rake-10.0.3/lib/rake/task.rb:152:in invoke' /usr/lib/ruby/gems/1.8/gems/rake-10.0.3/lib/rake/application.rb:143:in
invoke_task'
/usr/lib/ruby/gems/1.8/gems/rake-10.0.3/lib/rake/application.rb:101:in
top_level' /usr/lib/ruby/gems/1.8/gems/rake-10.0.3/lib/rake/application.rb:101:in
each'
/usr/lib/ruby/gems/1.8/gems/rake-10.0.3/lib/rake/application.rb:101:in
top_level' /usr/lib/ruby/gems/1.8/gems/rake-10.0.3/lib/rake/application.rb:110:in
run_with_threads'
/usr/lib/ruby/gems/1.8/gems/rake-10.0.3/lib/rake/application.rb:95:in
top_level' /usr/lib/ruby/gems/1.8/gems/rake-10.0.3/lib/rake/application.rb:73:in
run'
/usr/lib/ruby/gems/1.8/gems/rake-10.0.3/lib/rake/application.rb:160:in
standard_exception_handling' /usr/lib/ruby/gems/1.8/gems/rake-10.0.3/lib/rake/application.rb:70:in
run'
/usr/lib/ruby/gems/1.8/gems/rake-10.0.3/bin/rake:33
/usr/bin/rake:19:in `load'
/usr/bin/rake:19
Tasks: TOP => puppet:rdoc:generate
Foreman is running on CentOS 6.3 and served by Apache passenger.
me@myforemanserver:/usr/local/foreman-1.1-1> puppet --version
2.7.18
me@myforemanserver:/usr/local/foreman-1.1-1/config> cat settings.yaml
···
--- # You must restart the Rack server after changing either of these values # because they are cached at startup. # :unattended: true :login: true :require_ssl: false :locations_enabled: false :organizations_enabled: false #JSONP or "JSON with padding" is a complement to the base JSON data format. #It provides a method to request JSON data from a server in a different domain. :support_jsonp: false :puppetconfdir: /etc/puppet :puppetvardir: /var/lib/puppet :document_root: /usr/local/foreman/publicMy ruby is not up to par, so it may be something obvious that I’m not
familiar with. Thanks for the help.
Jason