diff options
author | Paul Berry <paul@puppetlabs.com> | 2010-11-23 13:32:03 -0800 |
---|---|---|
committer | Paul Berry <paul@puppetlabs.com> | 2010-11-23 13:32:03 -0800 |
commit | 2bc6727b6ac7348dbac98099f1fe0aeb3cd1295f (patch) | |
tree | 5da174c4c1c106b99e8c464e45e89d7b5ba2b5a2 | |
parent | 78beb7062caa65cd230e92012a29812b4c4af5ed (diff) | |
parent | 3a815e191837f9fc1fb7b6621be607225347f014 (diff) | |
download | puppet-2bc6727b6ac7348dbac98099f1fe0aeb3cd1295f.tar.gz puppet-2bc6727b6ac7348dbac98099f1fe0aeb3cd1295f.tar.xz puppet-2bc6727b6ac7348dbac98099f1fe0aeb3cd1295f.zip |
Merge branch 'ticket/next/5375' into next
-rw-r--r-- | lib/puppet/application/apply.rb | 21 | ||||
-rw-r--r-- | lib/puppet/configurer.rb | 8 | ||||
-rwxr-xr-x | spec/unit/application/apply_spec.rb | 20 | ||||
-rwxr-xr-x | spec/unit/configurer_spec.rb | 8 |
4 files changed, 19 insertions, 38 deletions
diff --git a/lib/puppet/application/apply.rb b/lib/puppet/application/apply.rb index 32a6b65b9..8ec3fab6b 100644 --- a/lib/puppet/application/apply.rb +++ b/lib/puppet/application/apply.rb @@ -123,26 +123,9 @@ class Puppet::Application::Apply < Puppet::Application require 'puppet/configurer' configurer = Puppet::Configurer.new - configurer.execute_prerun_command + report = configurer.run(:skip_plugin_download => true, :catalog => catalog) - # And apply it - if Puppet[:report] - report = configurer.initialize_report - Puppet::Util::Log.newdestination(report) - end - transaction = catalog.apply(:report => report) - - configurer.execute_postrun_command - - if Puppet[:report] - Puppet::Util::Log.close(report) - configurer.send_report(report, transaction) - else - transaction.generate_report - configurer.save_last_run_summary(transaction.report) - end - - exit( Puppet[:noop] ? 0 : options[:detailed_exitcodes] ? transaction.report.exit_status : 0 ) + exit( Puppet[:noop] ? 0 : options[:detailed_exitcodes] ? report.exit_status : 0 ) rescue => detail puts detail.backtrace if Puppet[:trace] $stderr.puts detail.message diff --git a/lib/puppet/configurer.rb b/lib/puppet/configurer.rb index e46e9a6e7..1c0639029 100644 --- a/lib/puppet/configurer.rb +++ b/lib/puppet/configurer.rb @@ -77,12 +77,12 @@ class Puppet::Configurer end # Prepare for catalog retrieval. Downloads everything necessary, etc. - def prepare + def prepare(options) dostorage - download_plugins + download_plugins unless options[:skip_plugin_download] - download_fact_plugins + download_fact_plugins unless options[:skip_plugin_download] execute_prerun_command end @@ -126,7 +126,7 @@ class Puppet::Configurer # which accepts :tags and :ignoreschedules. def run(options = {}) begin - prepare + prepare(options) rescue SystemExit,NoMemoryError raise rescue Exception => detail diff --git a/spec/unit/application/apply_spec.rb b/spec/unit/application/apply_spec.rb index 8b20aa907..f07416378 100755 --- a/spec/unit/application/apply_spec.rb +++ b/spec/unit/application/apply_spec.rb @@ -4,6 +4,7 @@ require File.dirname(__FILE__) + '/../../spec_helper' require 'puppet/application/apply' require 'puppet/file_bucket/dipper' +require 'puppet/configurer' describe Puppet::Application::Apply do before :each do @@ -199,6 +200,9 @@ describe Puppet::Application::Apply do @catalog.stubs(:apply).returns(@transaction) @apply.stubs(:exit) + + Puppet::Util::Storage.stubs(:load) + Puppet::Configurer.any_instance.stubs(:save_last_run_summary) # to prevent it from trying to write files end it "should set the code to run from --code" do @@ -307,11 +311,8 @@ describe Puppet::Application::Apply do end it "should call the prerun and postrun commands on a Configurer instance" do - configurer = stub 'configurer' - - Puppet::Configurer.expects(:new).returns configurer - configurer.expects(:execute_prerun_command) - configurer.expects(:execute_postrun_command) + Puppet::Configurer.any_instance.expects(:execute_prerun_command) + Puppet::Configurer.any_instance.expects(:execute_postrun_command) @apply.main end @@ -323,13 +324,11 @@ describe Puppet::Application::Apply do end it "should save the last run summary" do - configurer = stub_everything 'configurer' - Puppet::Configurer.expects(:new).returns configurer Puppet.stubs(:[]).with(:noop).returns(false) report = stub 'report' - @transaction.stubs(:report).returns(report) + Puppet::Configurer.any_instance.stubs(:initialize_report).returns(report) - configurer.expects(:save_last_run_summary).with(report) + Puppet::Configurer.any_instance.expects(:save_last_run_summary).with(report) @apply.main end @@ -337,8 +336,7 @@ describe Puppet::Application::Apply do it "should exit with report's computed exit status" do Puppet.stubs(:[]).with(:noop).returns(false) @apply.options.stubs(:[]).with(:detailed_exitcodes).returns(true) - report = stub 'report', :exit_status => 666 - @transaction.stubs(:report).returns(report) + Puppet::Transaction::Report.any_instance.stubs(:exit_status).returns(666) @apply.expects(:exit).with(666) @apply.main diff --git a/spec/unit/configurer_spec.rb b/spec/unit/configurer_spec.rb index 24bf9243a..e34e6fffb 100755 --- a/spec/unit/configurer_spec.rb +++ b/spec/unit/configurer_spec.rb @@ -515,23 +515,23 @@ describe Puppet::Configurer, "when preparing for a run" do it "should initialize the metadata store" do @agent.class.stubs(:facts).returns(@facts) @agent.expects(:dostorage) - @agent.prepare + @agent.prepare({}) end it "should download fact plugins" do @agent.expects(:download_fact_plugins) - @agent.prepare + @agent.prepare({}) end it "should download plugins" do @agent.expects(:download_plugins) - @agent.prepare + @agent.prepare({}) end it "should perform the pre-run commands" do @agent.expects(:execute_prerun_command) - @agent.prepare + @agent.prepare({}) end end |