Issue #21935 has been updated by Alexander Fortin. Status changed from Unreviewed to Needs Decision
Seems that it has been fixed in 3.3.0: <pre><code> # puppet --version; ruby --version ; puppet agent --onetime --no-daemonize --server fake-server; echo $? 3.3.0 ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-linux] 1 </code></pre> ---------------------------------------- Bug #21935: Puppet agent will raise an unhelpful exception if client returns a non-numeric result. https://projects.puppetlabs.com/issues/21935#change-98301 * Author: Josh Partlow * Status: Needs Decision * Priority: Normal * Assignee: * Category: agent * Target version: * Affected Puppet version: 3.2.3 * Keywords: agent exit codes * Branch: ---------------------------------------- Puppet agent's run_in_fork method exit's with the result of yield, and exit raises an exception if given a non-integer. When an agent is run, it run_in_fork's around a block which executes it's client's run method. The client is Configurer, and it's run method does not guarantee an integer return. If it hits a pre-run, post-run, or other exception it returns nil and execution halts with an exception raised by exit itself. For example, with an agent that has successfully run a `puppet agent -t --server puppetmaster` and has a valid cert from that puppetmaster: $ puppet agent --no-daemonize --server not-on-line /home/jpartlow/work/puppet/lib/puppet/agent.rb:89:in `exit': no implicit conversion from nil to integer (TypeError) from /home/jpartlow/work/puppet/lib/puppet/agent.rb:89:in `block in run_in_fork' from /home/jpartlow/work/puppet/lib/puppet/agent.rb:86:in `fork' from /home/jpartlow/work/puppet/lib/puppet/agent.rb:86:in `run_in_fork' from /home/jpartlow/work/puppet/lib/puppet/agent.rb:41:in `block in run' from /home/jpartlow/work/puppet/lib/puppet/application.rb:179:in `call' from /home/jpartlow/work/puppet/lib/puppet/application.rb:179:in `controlled_run' from /home/jpartlow/work/puppet/lib/puppet/agent.rb:39:in `run' from /home/jpartlow/work/puppet/lib/puppet/daemon.rb:167:in `block in run_event_loop' from /home/jpartlow/work/puppet/lib/puppet/scheduler/job.rb:49:in `call' from /home/jpartlow/work/puppet/lib/puppet/scheduler/job.rb:49:in `run' from /home/jpartlow/work/puppet/lib/puppet/scheduler/scheduler.rb:39:in `block in run_ready' from /home/jpartlow/work/puppet/lib/puppet/scheduler/scheduler.rb:34:in `each' from /home/jpartlow/work/puppet/lib/puppet/scheduler/scheduler.rb:34:in `run_ready' from /home/jpartlow/work/puppet/lib/puppet/scheduler/scheduler.rb:11:in `run_loop' from /home/jpartlow/work/puppet/lib/puppet/daemon.rb:183:in `run_event_loop' from /home/jpartlow/work/puppet/lib/puppet/daemon.rb:142:in `start' from /home/jpartlow/work/puppet/lib/puppet/application/agent.rb:382:in `main' from /home/jpartlow/work/puppet/lib/puppet/application/agent.rb:328:in `run_command' from /home/jpartlow/work/puppet/lib/puppet/application.rb:364:in `block (2 levels) in run' from /home/jpartlow/work/puppet/lib/puppet/application.rb:457:in `plugin_hook' from /home/jpartlow/work/puppet/lib/puppet/application.rb:364:in `block in run' from /home/jpartlow/work/puppet/lib/puppet/util.rb:511:in `exit_on_fail' from /home/jpartlow/work/puppet/lib/puppet/application.rb:364:in `run' from /home/jpartlow/work/puppet/lib/puppet/util/command_line.rb:132:in `run' from /home/jpartlow/work/puppet/lib/puppet/util/command_line.rb:86:in `execute' from /home/jpartlow/work/puppet/bin/puppet:4:in `<top (required)>' from /home/jpartlow/work/puppet/.bundle/gems/ruby/1.9.1/bin/puppet:23:in `load' -- 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 unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/puppet-bugs. For more options, visit https://groups.google.com/groups/opt_out.
