* return correct exit code for CLI when deploy;
* add missing field for deploy operation; * update examples.
This commit is contained in:
parent
da1ae3bab6
commit
357751197f
|
@ -40,6 +40,10 @@ def report_and_exit(exception, verbose)
|
|||
exit Astute::FAIL
|
||||
end
|
||||
|
||||
def analize_deploy(status)
|
||||
status.has_value?('error') ? Astute::FAIL : Astute::SUCCESS
|
||||
end
|
||||
|
||||
opts = {}
|
||||
optparse = OptionParser.new do |o|
|
||||
o.banner = "Usage: bin/astute -c COMMAND -f FILENAME "
|
||||
|
@ -108,13 +112,13 @@ result = Astute::SUCCESS
|
|||
begin
|
||||
result = case opts[:command]
|
||||
when :deploy
|
||||
orchestrator.deploy(reporter, environment['task_uuid'], environment['nodes'], environment['attributes'])
|
||||
analize_deploy orchestrator.deploy(reporter, environment['task_uuid'], environment['nodes'], environment['attributes'])
|
||||
when :provision
|
||||
console_provision(orchestrator, reporter, environment)
|
||||
when :provision_and_deploy
|
||||
res = console_provision(orchestrator, reporter, environment)
|
||||
if res == Astute::SUCCESS
|
||||
res = orchestrator.deploy(reporter, environment['task_uuid'], environment['nodes'], environment['attributes'])
|
||||
res = analize_deploy orchestrator.deploy(reporter, environment['task_uuid'], environment['nodes'], environment['attributes'])
|
||||
end
|
||||
res
|
||||
end
|
||||
|
|
|
@ -29,7 +29,7 @@ nodes:
|
|||
#netmask: 255.255.255.0
|
||||
dns_name: controller-8.domain.tld # fqdn
|
||||
static: 0
|
||||
mac_address: 08:00:27:83:80:92 # mac
|
||||
mac_address: 08:00:27:11:2D:DF # mac
|
||||
onboot: 'yes'
|
||||
peerdns: 'no'
|
||||
use_for_provision: true
|
||||
|
@ -114,4 +114,5 @@ attributes:
|
|||
ntp_servers:
|
||||
- pool.ntp.org
|
||||
deployment_mode: multinode
|
||||
deployment_source: cli
|
||||
deployment_source: cli
|
||||
deployment_id: 1
|
|
@ -351,4 +351,7 @@ mapping:
|
|||
"debug":
|
||||
type: bool
|
||||
desc: How much information OpenStack provides when performing configuration (debug mode)
|
||||
|
||||
"deployment_id":
|
||||
type: int
|
||||
required: true
|
||||
desc: Deployment ID(for CI just set 1)
|
|
@ -15,12 +15,24 @@
|
|||
|
||||
module Astute
|
||||
class Context
|
||||
attr_accessor :task_id, :reporter, :deploy_log_parser
|
||||
|
||||
attr_accessor :reporter, :deploy_log_parser
|
||||
attr_reader :task_id, :status
|
||||
|
||||
def initialize(task_id, reporter, deploy_log_parser=nil)
|
||||
@task_id = task_id
|
||||
@reporter = reporter
|
||||
@status = {}
|
||||
@deploy_log_parser = deploy_log_parser
|
||||
end
|
||||
|
||||
def reporter_report(data)
|
||||
if data['nodes']
|
||||
data['nodes'].each do |node|
|
||||
status.merge! node['uid'] => node['status'] if node['uid'] && node['status']
|
||||
end
|
||||
end
|
||||
reporter.report(data)
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
|
|
|
@ -47,7 +47,7 @@ module Astute
|
|||
Astute.logger.warn "Some error occurred when prepare LogParser: #{e.message}, trace: #{e.format_backtrace}"
|
||||
end
|
||||
deploy_engine_instance.deploy(nodes, attrs)
|
||||
return SUCCESS
|
||||
context.status
|
||||
end
|
||||
|
||||
def fast_provision(reporter, engine_attrs, nodes)
|
||||
|
|
|
@ -100,7 +100,7 @@ module Astute
|
|||
Timeout::timeout(Astute.config.PUPPET_TIMEOUT) do
|
||||
puppetd = MClient.new(ctx, "puppetd", uids)
|
||||
puppetd.on_respond_timeout do |uids|
|
||||
ctx.reporter.report('nodes' => uids.map{|uid| {'uid' => uid, 'status' => 'error', 'error_type' => 'deploy'}})
|
||||
ctx.reporter_report('nodes' => uids.map{|uid| {'uid' => uid, 'status' => 'error', 'error_type' => 'deploy'}})
|
||||
end if change_node_status
|
||||
prev_summary = puppetd.last_run_summary
|
||||
puppetd_runonce(puppetd, uids)
|
||||
|
@ -151,7 +151,8 @@ module Astute
|
|||
"trace: #{e.format_backtrace}"
|
||||
end
|
||||
end
|
||||
ctx.reporter.report('nodes' => nodes_to_report) if nodes_to_report.any?
|
||||
|
||||
ctx.reporter_report('nodes' => nodes_to_report) if nodes_to_report.any?
|
||||
|
||||
# we will iterate only over running nodes and those that we restart deployment for
|
||||
nodes_to_check = calc_nodes['running'] + nodes_to_retry
|
||||
|
|
Loading…
Reference in New Issue