Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 11 additions & 3 deletions lib/orchestrator/task.rb
Original file line number Diff line number Diff line change
Expand Up @@ -315,7 +315,7 @@ def notify
) if @options.sms and @options.sms_on_success
end

def run_command(command,timeout)
def run_command(command,timeout,success_codes = [0])
result = ""
error = ""

Expand All @@ -331,7 +331,8 @@ def run_command(command,timeout)
result = stdout.read.strip
error = stderr.read.strip
end
status = (status.nil? or status.exitstatus != 0) ? 'FAILED' : 'OK'
status = (status.nil? or !success_codes.include?(status.exitstatus)) ? 'FAILED' : 'OK'
puts command + " - STATUS: " + status if @verbose
end
rescue Timeout::Error
status = 'TIMEOUT'
Expand Down Expand Up @@ -383,10 +384,17 @@ def run_post_script_handlers(script,status)

def run_script(script)
timeout = script.has_key?('timeout') ? script['timeout'].to_i : @timeout
if script.has_key?('success_codes')
success_codes = (script['success_codes'].kind_of?(String) || script['success_codes'].kind_of?(Integer)) ? [script['success_codes'].to_i] : nil
success_codes ||= (script['success_codes'].kind_of?(Array) && script['success_codes'].all? {|i| i.kind_of?(Integer) }) ? script['success_codes'] : nil
bail("Bad success_codes. Expected String, Integer or Array of Integers for command:\n" + script['command']) unless success_codes
else
success_codes = [0]
end

script['status'] = 'STARTED'
save_state
script['status'] = run_command(script['command'],timeout)
script['status'] = run_command(script['command'], timeout, success_codes)
save_state

return script['status'] == 'OK'
Expand Down
2 changes: 1 addition & 1 deletion lib/orchestrator/version.rb
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
module Orchestrator
VERSION ||= '0.0.30'
VERSION ||= '0.0.31'
end