Require command option, add exit codes.
This commit is contained in:
parent
81a945f203
commit
17dbb57206
29
bin/astute
29
bin/astute
|
@ -43,9 +43,9 @@ optparse = OptionParser.new do |o|
|
|||
|
||||
o.on("-h") { puts o; exit }
|
||||
|
||||
o.on("-c", "--command [COMMAND]", [:deploy, :fast_provision, :provision],
|
||||
"Select operation (deploy, fast_provision, provision)") do |c|
|
||||
opts[:command] = c || :deploy
|
||||
o.on("-c", "--command COMMAND", [:deploy, :fast_provision, :provision],
|
||||
"Select operation (deploy, fast_provision or provision)") do |c|
|
||||
opts[:command] = c
|
||||
end
|
||||
|
||||
end
|
||||
|
@ -77,11 +77,18 @@ if [:deploy, :fast_provision, :provision].include? opts[:command]
|
|||
orchestrator = Astute::Orchestrator.new(deploy_engine, log_parsing=false)
|
||||
end
|
||||
|
||||
case opts[:command]
|
||||
when :deploy
|
||||
orchestrator.deploy(reporter, environment['task_uuid'], environment['nodes'], environment['attributes'])
|
||||
when :fast_provision
|
||||
orchestrator.fast_provision(reporter, environment['engine'], environment['nodes'])
|
||||
when :provision
|
||||
orchestrator.provision(reporter, environment['task_uuid'], environment['nodes'])
|
||||
end
|
||||
result = Astute::SUCCESS
|
||||
|
||||
begin
|
||||
result = case opts[:command]
|
||||
when :deploy
|
||||
orchestrator.deploy(reporter, environment['task_uuid'], environment['nodes'], environment['attributes'])
|
||||
when :fast_provision
|
||||
orchestrator.fast_provision(reporter, environment['engine'], environment['nodes'])
|
||||
when :provision
|
||||
orchestrator.provision(reporter, environment['task_uuid'], environment['nodes'])
|
||||
end
|
||||
rescue
|
||||
result = Astute::FAIL
|
||||
end
|
||||
exit result
|
|
@ -39,6 +39,9 @@ module Astute
|
|||
LogParser.autoload :ParseDeployLogs, 'astute/logparser/deployment'
|
||||
LogParser.autoload :ParseProvisionLogs, 'astute/logparser/provision'
|
||||
LogParser.autoload :Patterns, 'astute/logparser/parser_patterns'
|
||||
|
||||
SUCCESS = 0
|
||||
FAIL = 1
|
||||
|
||||
def self.logger
|
||||
unless @logger
|
||||
|
|
|
@ -46,6 +46,7 @@ module Astute
|
|||
Astute.logger.warn "Some error occurred when prepare LogParser: #{e.message}, trace: #{e.backtrace.inspect}"
|
||||
end
|
||||
deploy_engine_instance.deploy(nodes, attrs)
|
||||
return SUCCESS
|
||||
end
|
||||
|
||||
def fast_provision(reporter, engine_attrs, nodes)
|
||||
|
@ -71,6 +72,7 @@ module Astute
|
|||
|
||||
if failed_nodes.empty?
|
||||
report_result({}, proxy_reporter)
|
||||
return SUCCESS
|
||||
else
|
||||
Astute.logger.error("Nodes failed to reboot: #{failed_nodes.inspect}")
|
||||
proxy_reporter.report({
|
||||
|
@ -136,12 +138,14 @@ module Astute
|
|||
'progress' => 100,
|
||||
'error_type' => 'provision'} }
|
||||
proxy_reporter.report({'status' => 'error', 'error' => msg, 'nodes' => error_nodes})
|
||||
return FAIL
|
||||
end
|
||||
|
||||
nodes_progress = nodes.map do |n|
|
||||
{'uid' => n['uid'], 'progress' => 100, 'status' => 'provisioned'}
|
||||
end
|
||||
proxy_reporter.report({'nodes' => nodes_progress})
|
||||
return SUCCESS
|
||||
end
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue