From a12c05e7434dcf5e61391e42880d3a0e6f9837cf Mon Sep 17 00:00:00 2001 From: Anton Chuchkalov Date: Tue, 22 Sep 2015 15:07:56 +0300 Subject: [PATCH] #730: add deploy_error to operation codes --- .../lib/executors/server_executor.rb | 24 +++++++++---------- .../workers/stack_bootstrap_worker.rb | 19 +++++++-------- 2 files changed, 20 insertions(+), 23 deletions(-) diff --git a/devops-service/lib/executors/server_executor.rb b/devops-service/lib/executors/server_executor.rb index ddb86e2..5f43993 100644 --- a/devops-service/lib/executors/server_executor.rb +++ b/devops-service/lib/executors/server_executor.rb @@ -8,6 +8,11 @@ module Devops class ServerExecutor include Hooks + RESULT_CODES = { + server_bootstrap_fail: 2, + server_not_in_chef_nodes: 5 + } + #params: # out - container for output data # deploy_info - hash with deploy data @@ -35,23 +40,16 @@ module Devops @out.class.send(:define_method, :flush) { } unless @out.respond_to?(:flush) end - def result_codes - self.class.result_codes + def self.result_code(symbolic_code) + RESULT_CODES.fetch(symbolic_code) end - def self.result_codes - { - server_bootstrap_fail: 2, - server_not_in_chef_nodes: 5 - } + def self.symbolic_result_code(integer_code) + RESULT_CODES.key(integer_code) || :deploy_error end - def self.result_code(code) - result_codes.fetch(code) - end - - def result_code(code) - self.class.result_code(code) + def result_code(symbolic_code) + self.class.result_code(symbolic_code) end def report= r diff --git a/devops-service/workers/stack_bootstrap_worker.rb b/devops-service/workers/stack_bootstrap_worker.rb index c509112..3bd95c6 100644 --- a/devops-service/workers/stack_bootstrap_worker.rb +++ b/devops-service/workers/stack_bootstrap_worker.rb @@ -30,15 +30,15 @@ class StackBootstrapWorker < Worker servers = persist_stack_servers!(stack, provider) bootstrap_servers!(servers, report) unless without_bootstrap 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) 1 rescue DeployingStackServerError => e - @out.puts "Stack was launched, but an error occured during deploying stack servers." - @out.puts "You can redeploy stack after fixing the error.\n\n" + @out.puts "\nStack was launched, but an error occured during deploying stack servers." + @out.puts "You can redeploy stack after fixing the error." 1 rescue StandardError => e - @out.puts "An error occured. Initiating stack rollback.\n\n" + @out.puts "\nAn error occured. Initiating stack rollback." rollback_stack!(stack) raise e end @@ -52,7 +52,7 @@ class StackBootstrapWorker < Worker stack.delete_stack_in_cloud! Devops::Db.connector.stack_servers_delete(stack.name) Devops::Db.connector.stack_delete(stack.id) - @out.puts "\nRollback has been completed" + @out.puts "Rollback has been completed" end def create_stack(provider_name, stack_attrs) @@ -91,17 +91,16 @@ class StackBootstrapWorker < Worker return 0 end + @out.puts 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}" end if errors_in_bootstrapping_present?(results) - # An error occured during servers bootsraping, so rollback stack - raise BootstrapingStackServerError + raise BootstrapingStackServerError # will cause rollback of a stack else - # An error occured during servers deploying, rollback isn't needed - raise DeployingStackServerError + raise DeployingStackServerError #will not cause rollback of a stack end end