Merge branch 'devops_3' of http://git.stu.neva.ru/cloudtechlab/devops-service into devops_3
This commit is contained in:
commit
762572553c
@ -8,6 +8,11 @@ module Devops
|
|||||||
class ServerExecutor
|
class ServerExecutor
|
||||||
include Hooks
|
include Hooks
|
||||||
|
|
||||||
|
RESULT_CODES = {
|
||||||
|
server_bootstrap_fail: 2,
|
||||||
|
server_not_in_chef_nodes: 5
|
||||||
|
}
|
||||||
|
|
||||||
#params:
|
#params:
|
||||||
# out - container for output data
|
# out - container for output data
|
||||||
# deploy_info - hash with deploy data
|
# deploy_info - hash with deploy data
|
||||||
@ -35,23 +40,16 @@ module Devops
|
|||||||
@out.class.send(:define_method, :flush) { } unless @out.respond_to?(:flush)
|
@out.class.send(:define_method, :flush) { } unless @out.respond_to?(:flush)
|
||||||
end
|
end
|
||||||
|
|
||||||
def result_codes
|
def self.result_code(symbolic_code)
|
||||||
self.class.result_codes
|
RESULT_CODES.fetch(symbolic_code)
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.result_codes
|
def self.symbolic_result_code(integer_code)
|
||||||
{
|
RESULT_CODES.key(integer_code) || :deploy_error
|
||||||
server_bootstrap_fail: 2,
|
|
||||||
server_not_in_chef_nodes: 5
|
|
||||||
}
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.result_code(code)
|
def result_code(symbolic_code)
|
||||||
result_codes.fetch(code)
|
self.class.result_code(symbolic_code)
|
||||||
end
|
|
||||||
|
|
||||||
def result_code(code)
|
|
||||||
self.class.result_code(code)
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def report= r
|
def report= r
|
||||||
|
|||||||
@ -30,15 +30,15 @@ class StackBootstrapWorker < Worker
|
|||||||
servers = persist_stack_servers!(stack, provider)
|
servers = persist_stack_servers!(stack, provider)
|
||||||
bootstrap_servers!(servers, report) unless without_bootstrap
|
bootstrap_servers!(servers, report) unless without_bootstrap
|
||||||
rescue BootstrapingStackServerError
|
rescue BootstrapingStackServerError
|
||||||
@out.puts "An error occured during bootstraping stack servers. Initiating stack rollback.\n\n"
|
@out.puts "\nAn error occured during bootstraping stack servers. Initiating stack rollback."
|
||||||
rollback_stack!(stack)
|
rollback_stack!(stack)
|
||||||
1
|
1
|
||||||
rescue DeployingStackServerError => e
|
rescue DeployingStackServerError => e
|
||||||
@out.puts "Stack was launched, but an error occured during deploying stack servers."
|
@out.puts "\nStack was launched, but an error occured during deploying stack servers."
|
||||||
@out.puts "You can redeploy stack after fixing the error.\n\n"
|
@out.puts "You can redeploy stack after fixing the error."
|
||||||
1
|
1
|
||||||
rescue StandardError => e
|
rescue StandardError => e
|
||||||
@out.puts "An error occured. Initiating stack rollback.\n\n"
|
@out.puts "\nAn error occured. Initiating stack rollback."
|
||||||
rollback_stack!(stack)
|
rollback_stack!(stack)
|
||||||
raise e
|
raise e
|
||||||
end
|
end
|
||||||
@ -52,7 +52,7 @@ class StackBootstrapWorker < Worker
|
|||||||
stack.delete_stack_in_cloud!
|
stack.delete_stack_in_cloud!
|
||||||
Devops::Db.connector.stack_servers_delete(stack.name)
|
Devops::Db.connector.stack_servers_delete(stack.name)
|
||||||
Devops::Db.connector.stack_delete(stack.id)
|
Devops::Db.connector.stack_delete(stack.id)
|
||||||
@out.puts "\nRollback has been completed"
|
@out.puts "Rollback has been completed"
|
||||||
end
|
end
|
||||||
|
|
||||||
def create_stack(provider_name, stack_attrs)
|
def create_stack(provider_name, stack_attrs)
|
||||||
@ -91,17 +91,16 @@ class StackBootstrapWorker < Worker
|
|||||||
return 0
|
return 0
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@out.puts
|
||||||
results.each do |chef_node_name, code|
|
results.each do |chef_node_name, code|
|
||||||
human_readable_code = Devops::Executor::ServerExecutor.result_codes.key(code)
|
human_readable_code = Devops::Executor::ServerExecutor.symbolic_result_code(code)
|
||||||
@out.puts "Operation result for #{chef_node_name}: #{human_readable_code}"
|
@out.puts "Operation result for #{chef_node_name}: #{human_readable_code}"
|
||||||
end
|
end
|
||||||
|
|
||||||
if errors_in_bootstrapping_present?(results)
|
if errors_in_bootstrapping_present?(results)
|
||||||
# An error occured during servers bootsraping, so rollback stack
|
raise BootstrapingStackServerError # will cause rollback of a stack
|
||||||
raise BootstrapingStackServerError
|
|
||||||
else
|
else
|
||||||
# An error occured during servers deploying, rollback isn't needed
|
raise DeployingStackServerError #will not cause rollback of a stack
|
||||||
raise DeployingStackServerError
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user