Puppetrun refuses to work within foreman

A puppetrun from the shell works:

$ sudo puppetrun pclient.domain.net
Triggering pclient.domain.net
Getting status
status is success
pclient.domain.net finished with exit code 0
Finished

I added the following to my sudoers file (as suggested in the foreman
wiki):
foreman ALL = NOPASSWD: /usr/bin/puppetrun
Defaults:foreman !requiretty

But when I try to trigger a puppetrun from foreman I get the following
message in foreman's logfile:
Processing HostsController#puppetrun (for 10.250.1.157 at 2010-10-13
10:22:40) [GET]
Parameters: {"action"=>"puppetrun", "id"=>"pclient.domain.net",
"controller"=>"hosts"}

NameError (undefined local variable or method host' for #<HostsController:0x2b2d916c50b8>): app/controllers/hosts_controller.rb:146:inpuppetrun'
passenger (2.2.15) lib/phusion_passenger/rack/request_handler.rb:
92:in process_request' passenger (2.2.15) lib/phusion_passenger/abstract_request_handler.rb: 207:inmain_loop'
passenger (2.2.15) lib/phusion_passenger/railz/
application_spawner.rb:441:in start_request_handler' passenger (2.2.15) lib/phusion_passenger/railz/ application_spawner.rb:381:inhandle_spawn_application'
passenger (2.2.15) lib/phusion_passenger/utils.rb:252:in safe_fork' passenger (2.2.15) lib/phusion_passenger/railz/ application_spawner.rb:377:inhandle_spawn_application'
passenger (2.2.15) lib/phusion_passenger/abstract_server.rb:352:in
__send__' passenger (2.2.15) lib/phusion_passenger/abstract_server.rb:352:inmain_loop'
passenger (2.2.15) lib/phusion_passenger/abstract_server.rb:196:in
start_synchronously' passenger (2.2.15) lib/phusion_passenger/abstract_server.rb:163:instart'
passenger (2.2.15) lib/phusion_passenger/railz/
application_spawner.rb:222:in start' passenger (2.2.15) lib/phusion_passenger/spawn_manager.rb:253:inspawn_rails_application'
passenger (2.2.15) lib/phusion_passenger/
abstract_server_collection.rb:126:in lookup_or_add' passenger (2.2.15) lib/phusion_passenger/spawn_manager.rb:247:inspawn_rails_application'
passenger (2.2.15) lib/phusion_passenger/
abstract_server_collection.rb:80:in synchronize' passenger (2.2.15) lib/phusion_passenger/ abstract_server_collection.rb:79:insynchronize'
passenger (2.2.15) lib/phusion_passenger/spawn_manager.rb:246:in
spawn_rails_application' passenger (2.2.15) lib/phusion_passenger/spawn_manager.rb:145:inspawn_application'
passenger (2.2.15) lib/phusion_passenger/spawn_manager.rb:278:in
handle_spawn_application' passenger (2.2.15) lib/phusion_passenger/abstract_server.rb:352:insend'
passenger (2.2.15) lib/phusion_passenger/abstract_server.rb:352:in
main_loop' passenger (2.2.15) lib/phusion_passenger/abstract_server.rb:196:instart_synchronously'

Rendering /opt/foreman/public/500.html (500 Internal Server Error)

oops - change line


<http://github.com/ohadlevy/foreman/blob/develop/app/controllers/hosts_controller.rb#L146>to
have a @ before on the host
e.g.
if GW::Puppet.run @host.name

Ohad

··· On Wed, Oct 13, 2010 at 10:33 AM, PowerPaul86 wrote:

A puppetrun from the shell works:

$ sudo puppetrun pclient.domain.net
Triggering pclient.domain.net
Getting status
status is success
pclient.domain.net finished with exit code 0
Finished

I added the following to my sudoers file (as suggested in the foreman
wiki):
foreman ALL = NOPASSWD: /usr/bin/puppetrun
Defaults:foreman !requiretty

But when I try to trigger a puppetrun from foreman I get the following
message in foreman’s logfile:
Processing HostsController#puppetrun (for 10.250.1.157 at 2010-10-13
10:22:40) [GET]
Parameters: {“action”=>“puppetrun”, “id”=>“pclient.domain.net”,
“controller”=>“hosts”}

NameError (undefined local variable or method host' for #<HostsController:0x2b2d916c50b8>): app/controllers/hosts_controller.rb:146:inpuppetrun’
passenger (2.2.15) lib/phusion_passenger/rack/request_handler.rb:
92:in process_request' passenger (2.2.15) lib/phusion_passenger/abstract_request_handler.rb: 207:inmain_loop’
passenger (2.2.15) lib/phusion_passenger/railz/
application_spawner.rb:441:in start_request_handler' passenger (2.2.15) lib/phusion_passenger/railz/ application_spawner.rb:381:inhandle_spawn_application’
passenger (2.2.15) lib/phusion_passenger/utils.rb:252:in safe_fork' passenger (2.2.15) lib/phusion_passenger/railz/ application_spawner.rb:377:inhandle_spawn_application’
passenger (2.2.15) lib/phusion_passenger/abstract_server.rb:352:in
__send__' passenger (2.2.15) lib/phusion_passenger/abstract_server.rb:352:inmain_loop’
passenger (2.2.15) lib/phusion_passenger/abstract_server.rb:196:in
start_synchronously' passenger (2.2.15) lib/phusion_passenger/abstract_server.rb:163:instart’
passenger (2.2.15) lib/phusion_passenger/railz/
application_spawner.rb:222:in start' passenger (2.2.15) lib/phusion_passenger/spawn_manager.rb:253:inspawn_rails_application’
passenger (2.2.15) lib/phusion_passenger/
abstract_server_collection.rb:126:in lookup_or_add' passenger (2.2.15) lib/phusion_passenger/spawn_manager.rb:247:inspawn_rails_application’
passenger (2.2.15) lib/phusion_passenger/
abstract_server_collection.rb:80:in synchronize' passenger (2.2.15) lib/phusion_passenger/ abstract_server_collection.rb:79:insynchronize’
passenger (2.2.15) lib/phusion_passenger/spawn_manager.rb:246:in
spawn_rails_application' passenger (2.2.15) lib/phusion_passenger/spawn_manager.rb:145:inspawn_application’
passenger (2.2.15) lib/phusion_passenger/spawn_manager.rb:278:in
handle_spawn_application' passenger (2.2.15) lib/phusion_passenger/abstract_server.rb:352:insend
passenger (2.2.15) lib/phusion_passenger/abstract_server.rb:352:in
main_loop' passenger (2.2.15) lib/phusion_passenger/abstract_server.rb:196:instart_synchronously’

Rendering /opt/foreman/public/500.html (500 Internal Server Error)


You received this message because you are subscribed to the Google Groups
"Foreman users" group.
To post to this group, send email to foreman-users@googlegroups.com.
To unsubscribe from this group, send email to
foreman-users+unsubscribe@googlegroups.comforeman-users%2Bunsubscribe@googlegroups.com
.
For more options, visit this group at
http://groups.google.com/group/foreman-users?hl=en.

Yay, it works!

Thanks! :slight_smile:

If only I weren't ruby illiterate, I wouldn't need to bother you with
these kind of things and fix them myself.

··· On Oct 13, 11:05 am, Ohad Levy wrote: > oops - change linehttp://github.com/ohadlevy/foreman/blob/develop/app/controllers/hosts... > to > have a @ before on the host > e.g. > if GW::Puppet.run @host.name > > Ohad > > On Wed, Oct 13, 2010 at 10:33 AM, PowerPaul86 wrote: > > > A puppetrun from the shell works: > > > $ sudo puppetrun pclient.domain.net > > Triggering pclient.domain.net > > Getting status > > status is success > > pclient.domain.net finished with exit code 0 > > Finished > > > I added the following to my sudoers file (as suggested in the foreman > > wiki): > > foreman ALL = NOPASSWD: /usr/bin/puppetrun > > Defaults:foreman !requiretty > > > But when I try to trigger a puppetrun from foreman I get the following > > message in foreman's logfile: > > Processing HostsController#puppetrun (for 10.250.1.157 at 2010-10-13 > > 10:22:40) [GET] > > Parameters: {"action"=>"puppetrun", "id"=>"pclient.domain.net", > > "controller"=>"hosts"} > > > NameError (undefined local variable or method `host' for > > #): > > app/controllers/hosts_controller.rb:146:in `puppetrun' > > passenger (2.2.15) lib/phusion_passenger/rack/request_handler.rb: > > 92:in `process_request' > > passenger (2.2.15) lib/phusion_passenger/abstract_request_handler.rb: > > 207:in `main_loop' > > passenger (2.2.15) lib/phusion_passenger/railz/ > > application_spawner.rb:441:in `start_request_handler' > > passenger (2.2.15) lib/phusion_passenger/railz/ > > application_spawner.rb:381:in `handle_spawn_application' > > passenger (2.2.15) lib/phusion_passenger/utils.rb:252:in `safe_fork' > > passenger (2.2.15) lib/phusion_passenger/railz/ > > application_spawner.rb:377:in `handle_spawn_application' > > passenger (2.2.15) lib/phusion_passenger/abstract_server.rb:352:in > > `__send__' > > passenger (2.2.15) lib/phusion_passenger/abstract_server.rb:352:in > > `main_loop' > > passenger (2.2.15) lib/phusion_passenger/abstract_server.rb:196:in > > `start_synchronously' > > passenger (2.2.15) lib/phusion_passenger/abstract_server.rb:163:in > > `start' > > passenger (2.2.15) lib/phusion_passenger/railz/ > > application_spawner.rb:222:in `start' > > passenger (2.2.15) lib/phusion_passenger/spawn_manager.rb:253:in > > `spawn_rails_application' > > passenger (2.2.15) lib/phusion_passenger/ > > abstract_server_collection.rb:126:in `lookup_or_add' > > passenger (2.2.15) lib/phusion_passenger/spawn_manager.rb:247:in > > `spawn_rails_application' > > passenger (2.2.15) lib/phusion_passenger/ > > abstract_server_collection.rb:80:in `synchronize' > > passenger (2.2.15) lib/phusion_passenger/ > > abstract_server_collection.rb:79:in `synchronize' > > passenger (2.2.15) lib/phusion_passenger/spawn_manager.rb:246:in > > `spawn_rails_application' > > passenger (2.2.15) lib/phusion_passenger/spawn_manager.rb:145:in > > `spawn_application' > > passenger (2.2.15) lib/phusion_passenger/spawn_manager.rb:278:in > > `handle_spawn_application' > > passenger (2.2.15) lib/phusion_passenger/abstract_server.rb:352:in > > `__send__' > > passenger (2.2.15) lib/phusion_passenger/abstract_server.rb:352:in > > `main_loop' > > passenger (2.2.15) lib/phusion_passenger/abstract_server.rb:196:in > > `start_synchronously' > > > Rendering /opt/foreman/public/500.html (500 Internal Server Error) > > > -- > > You received this message because you are subscribed to the Google Groups > > "Foreman users" group. > > To post to this group, send email to foreman-users@googlegroups.com. > > To unsubscribe from this group, send email to > > foreman-users+unsubscribe@googlegroups.com > > . > > For more options, visit this group at > >http://groups.google.com/group/foreman-users?hl=en. > >