Merge "Remove puppet status files right before running it"
This commit is contained in:
commit
90617acd7d
|
@ -37,7 +37,6 @@ module Astute
|
|||
@node = node
|
||||
@retries = @options[:retries]
|
||||
@time_observer = TimeObserver.new(@options[:timeout])
|
||||
@prev_summary = nil
|
||||
@is_hung = false
|
||||
@succeed_retries = @options[:succeed_retries]
|
||||
@summary = {}
|
||||
|
@ -47,7 +46,6 @@ module Astute
|
|||
Astute.logger.debug "Waiting for puppet to finish deployment on " \
|
||||
"node #{@node['uid']} (timeout = #{@time_observer.time_limit} sec)..."
|
||||
@time_observer.start
|
||||
@prev_summary ||= puppet_status
|
||||
puppetd_runonce
|
||||
end
|
||||
|
||||
|
@ -147,8 +145,7 @@ module Astute
|
|||
def succeed?(status)
|
||||
status[:status] == 'stopped' &&
|
||||
status[:resources]['failed'].to_i == 0 &&
|
||||
status[:resources]['failed_to_restart'].to_i == 0 &&
|
||||
status[:time]['last_run'] != (@prev_summary && @prev_summary[:time]['last_run'])
|
||||
status[:resources]['failed_to_restart'].to_i == 0
|
||||
end
|
||||
|
||||
# Runs puppetd.runonce only if puppet is stopped on the host at the time
|
||||
|
@ -207,8 +204,6 @@ module Astute
|
|||
Astute.logger.info "Retrying to run puppet for following succeed " \
|
||||
"node: #{@node['uid']}"
|
||||
puppetd_runonce
|
||||
# We need this magic with prev_summary to reflect new puppetd run statuses..
|
||||
@prev_summary = last_run
|
||||
node_report_format('status' => 'deploying')
|
||||
else
|
||||
Astute.logger.debug "Node #{@node['uid']} has succeed to deploy. " \
|
||||
|
@ -225,8 +220,6 @@ module Astute
|
|||
Astute.logger.info "Retrying to run puppet for following error " \
|
||||
"nodes: #{@node['uid']}"
|
||||
puppetd_runonce
|
||||
# We need this magic with prev_summary to reflect new puppetd run statuses..
|
||||
@prev_summary = last_run
|
||||
node_report_format('status' => 'deploying')
|
||||
else
|
||||
Astute.logger.debug "Node #{@node['uid']} has failed to deploy. " \
|
||||
|
|
|
@ -197,6 +197,8 @@ module MCollective
|
|||
end
|
||||
|
||||
def runonce_background
|
||||
rm_file(@last_report)
|
||||
rm_file(@last_summary)
|
||||
cwd = request.fetch(:cwd, '/')
|
||||
cmd = [
|
||||
@puppetd,
|
||||
|
|
|
@ -118,7 +118,7 @@ describe Astute::PuppetTask do
|
|||
|
||||
describe "#run" do
|
||||
it 'run puppet using mcollective' do
|
||||
puppet_task.expects(:puppet_status).returns(mco_puppet_stopped).times(2)
|
||||
puppet_task.expects(:puppet_status).returns(mco_puppet_stopped)
|
||||
puppet_task.expects(:puppet_run)
|
||||
puppet_task.run
|
||||
end
|
||||
|
@ -131,7 +131,6 @@ describe Astute::PuppetTask do
|
|||
|
||||
it 'check puppet using mcollective' do
|
||||
puppet_task.stubs(:puppet_status).returns(mco_puppet_stopped)
|
||||
.then.returns(mco_puppet_stopped)
|
||||
.then.returns(mco_puppet_running)
|
||||
.then.returns(mco_puppet_finished)
|
||||
|
||||
|
@ -141,7 +140,6 @@ describe Astute::PuppetTask do
|
|||
|
||||
it 'return error for node if puppet failed (a cycle w/o any transitional states)' do
|
||||
puppet_task_wo_retries.stubs(:puppet_status).returns(mco_puppet_stopped)
|
||||
.then.returns(mco_puppet_stopped)
|
||||
.then.returns(mco_puppet_failed)
|
||||
|
||||
puppet_task_wo_retries.expects(:puppet_run)
|
||||
|
@ -151,7 +149,6 @@ describe Astute::PuppetTask do
|
|||
|
||||
it 'retries to run puppet if it fails and return middle status' do
|
||||
puppet_task.stubs(:puppet_status).returns(mco_puppet_stopped)
|
||||
.then.returns(mco_puppet_stopped)
|
||||
.then.returns(mco_puppet_failed)
|
||||
.then.returns(mco_puppet_failed)
|
||||
.then.returns(mco_puppet_finished)
|
||||
|
@ -164,7 +161,6 @@ describe Astute::PuppetTask do
|
|||
|
||||
it "return error for node if puppet failed (a cycle with one running state only)" do
|
||||
puppet_task_wo_retries.stubs(:puppet_status).returns(mco_puppet_stopped)
|
||||
.then.returns(mco_puppet_stopped)
|
||||
.then.returns(mco_puppet_running)
|
||||
.then.returns(mco_puppet_running)
|
||||
.then.returns(mco_puppet_fail)
|
||||
|
@ -181,7 +177,6 @@ describe Astute::PuppetTask do
|
|||
|
||||
it "error status for node if puppet failed (a cycle w/o idle and finishing states)" do
|
||||
puppet_task_wo_retries.stubs(:puppet_status).returns(mco_puppet_stopped)
|
||||
.then.returns(mco_puppet_stopped)
|
||||
.then.returns(mco_puppet_running)
|
||||
.then.returns(mco_puppet_failed)
|
||||
|
||||
|
@ -198,15 +193,14 @@ describe Astute::PuppetTask do
|
|||
.then.returns(mco_puppet_running)
|
||||
.then.returns(mco_puppet_finished)
|
||||
|
||||
puppet_task.expects(:puppet_run).times(2)
|
||||
puppet_task.expects(:puppet_run)
|
||||
puppet_task.run
|
||||
expect(puppet_task.status).to eql('deploying')
|
||||
expect(puppet_task.status).to eql('ready')
|
||||
end
|
||||
|
||||
it "error status for node if puppet failed (mcollective retries)" do
|
||||
puppet_task.stubs(:puppet_status).returns(mco_puppet_stopped)
|
||||
.then.raises(Astute::MClientTimeout)
|
||||
puppet_task.stubs(:puppet_status).raises(Astute::MClientTimeout)
|
||||
|
||||
puppet_task.stubs(:puppetd_runonce)
|
||||
puppet_task.run
|
||||
|
|
Loading…
Reference in New Issue