rename return_codes to error_codes
This commit is contained in:
parent
f46feedcbe
commit
a88fa8e2f6
@ -8,7 +8,7 @@ module Devops
|
|||||||
class ServerExecutor
|
class ServerExecutor
|
||||||
include Hooks
|
include Hooks
|
||||||
|
|
||||||
RESULT_CODES = {
|
ERROR_CODES = {
|
||||||
server_bootstrap_fail: 2,
|
server_bootstrap_fail: 2,
|
||||||
server_cannot_update_tags: 3,
|
server_cannot_update_tags: 3,
|
||||||
server_bootstrap_private_ip_unset: 4,
|
server_bootstrap_private_ip_unset: 4,
|
||||||
@ -53,16 +53,16 @@ module Devops
|
|||||||
@current_user = options[:current_user]
|
@current_user = options[:current_user]
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.result_code(symbolic_code)
|
def self.error_code(symbolic_code)
|
||||||
RESULT_CODES.fetch(symbolic_code)
|
ERROR_CODES.fetch(symbolic_code)
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.symbolic_result_code(integer_code)
|
def self.symbolic_error_code(integer_code)
|
||||||
RESULT_CODES.key(integer_code) || :unknown_error
|
ERROR_CODES.key(integer_code) || :unknown_error
|
||||||
end
|
end
|
||||||
|
|
||||||
def result_code(symbolic_code)
|
def error_code(symbolic_code)
|
||||||
self.class.result_code(symbolic_code)
|
self.class.error_code(symbolic_code)
|
||||||
end
|
end
|
||||||
|
|
||||||
def report= r
|
def report= r
|
||||||
@ -106,7 +106,7 @@ module Devops
|
|||||||
@out << "Done\n"
|
@out << "Done\n"
|
||||||
|
|
||||||
unless provider.create_server(@server, @deploy_env.image, @deploy_env.flavor, @deploy_env.subnets, @deploy_env.groups, @out)
|
unless provider.create_server(@server, @deploy_env.image, @deploy_env.flavor, @deploy_env.subnets, @deploy_env.groups, @out)
|
||||||
return result_code(:creating_server_in_cloud_failed)
|
return error_code(:creating_server_in_cloud_failed)
|
||||||
end
|
end
|
||||||
mongo.server_insert @server
|
mongo.server_insert @server
|
||||||
|
|
||||||
@ -133,7 +133,7 @@ module Devops
|
|||||||
DevopsLogger.logger.error e.message
|
DevopsLogger.logger.error e.message
|
||||||
roll_back
|
roll_back
|
||||||
mongo.server_delete @server.id
|
mongo.server_delete @server.id
|
||||||
result_code(:creating_server_unknown_error)
|
error_code(:creating_server_unknown_error)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -153,7 +153,7 @@ module Devops
|
|||||||
@out << "Done\n"
|
@out << "Done\n"
|
||||||
if @server.private_ip.nil?
|
if @server.private_ip.nil?
|
||||||
@out << "Error: Private IP is null"
|
@out << "Error: Private IP is null"
|
||||||
return result_code(:server_bootstrap_private_ip_unset)
|
return error_code(:server_bootstrap_private_ip_unset)
|
||||||
end
|
end
|
||||||
ja = {
|
ja = {
|
||||||
:provider => @server.provider,
|
:provider => @server.provider,
|
||||||
@ -184,7 +184,7 @@ module Devops
|
|||||||
@out.puts res
|
@out.puts res
|
||||||
@out.flush
|
@out.flush
|
||||||
DevopsLogger.logger.error "Can not connect with command '#{cmd}':\n#{res}"
|
DevopsLogger.logger.error "Can not connect with command '#{cmd}':\n#{res}"
|
||||||
return result_code(:server_bootstrap_fail)
|
return error_code(:server_bootstrap_fail)
|
||||||
end
|
end
|
||||||
raise ArgumentError.new("Can not connect with command '#{cmd}' ") unless connected_successfully?
|
raise ArgumentError.new("Can not connect with command '#{cmd}' ") unless connected_successfully?
|
||||||
rescue ArgumentError => e
|
rescue ArgumentError => e
|
||||||
@ -213,7 +213,7 @@ module Devops
|
|||||||
else
|
else
|
||||||
@out << "Can not bootstrap node '#{@server.id}', error code: #{r}"
|
@out << "Can not bootstrap node '#{@server.id}', error code: #{r}"
|
||||||
@out.flush
|
@out.flush
|
||||||
result_code(:server_bootstrap_fail)
|
error_code(:server_bootstrap_fail)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -262,7 +262,7 @@ module Devops
|
|||||||
roll_back
|
roll_back
|
||||||
@out.flush
|
@out.flush
|
||||||
mongo.server_delete @server.id
|
mongo.server_delete @server.id
|
||||||
return result_code(:server_not_in_chef_nodes)
|
return error_code(:server_not_in_chef_nodes)
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
# @out << roll_back
|
# @out << roll_back
|
||||||
@ -272,12 +272,12 @@ module Devops
|
|||||||
DevopsLogger.logger.error msg
|
DevopsLogger.logger.error msg
|
||||||
@out.puts msg
|
@out.puts msg
|
||||||
@out.flush
|
@out.flush
|
||||||
return result_code(:server_bootstrap_fail)
|
return error_code(:server_bootstrap_fail)
|
||||||
end
|
end
|
||||||
rescue => e
|
rescue => e
|
||||||
@out << "\nError: #{e.message}\n"
|
@out << "\nError: #{e.message}\n"
|
||||||
@out.flush
|
@out.flush
|
||||||
return result_code(:server_bootstrap_unknown_error)
|
return error_code(:server_bootstrap_unknown_error)
|
||||||
end
|
end
|
||||||
|
|
||||||
# deploy phase. Assume that all servers are bootstraped successfully here.
|
# deploy phase. Assume that all servers are bootstraped successfully here.
|
||||||
@ -295,12 +295,12 @@ module Devops
|
|||||||
msg << "\nDeploing server operation status was #{deploy_status}"
|
msg << "\nDeploing server operation status was #{deploy_status}"
|
||||||
DevopsLogger.logger.error msg
|
DevopsLogger.logger.error msg
|
||||||
@out << "\n" + msg + "\n"
|
@out << "\n" + msg + "\n"
|
||||||
result_code(:deploy_failed)
|
error_code(:deploy_failed)
|
||||||
end
|
end
|
||||||
rescue => e
|
rescue => e
|
||||||
@out << "\nError: #{e.message}\n"
|
@out << "\nError: #{e.message}\n"
|
||||||
DevopsLogger.logger.error(e.message + "\n" + e.backtrace.join("\n"))
|
DevopsLogger.logger.error(e.message + "\n" + e.backtrace.join("\n"))
|
||||||
result_code(:deploy_unknown_error)
|
error_code(:deploy_unknown_error)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -347,7 +347,7 @@ module Devops
|
|||||||
m = "Error: Cannot add tags '#{new_tags_str}' to server '#{@server.chef_node_name}'"
|
m = "Error: Cannot add tags '#{new_tags_str}' to server '#{@server.chef_node_name}'"
|
||||||
DevopsLogger.logger.error(m)
|
DevopsLogger.logger.error(m)
|
||||||
@out.puts m
|
@out.puts m
|
||||||
return result_code(:server_cannot_update_tags)
|
return error_code(:server_cannot_update_tags)
|
||||||
end
|
end
|
||||||
DevopsLogger.logger.info("Set tags for '#{@server.chef_node_name}': #{new_tags_str}")
|
DevopsLogger.logger.info("Set tags for '#{@server.chef_node_name}': #{new_tags_str}")
|
||||||
|
|
||||||
|
|||||||
@ -37,6 +37,16 @@ RSpec.describe Devops::Executor::ServerExecutor, type: :executor, stubbed_connec
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
describe '.symbolic_error_code' do
|
||||||
|
it 'returns symbol given an integer' do
|
||||||
|
expect(described_class.symbolic_error_code(2)).to eq :server_bootstrap_fail
|
||||||
|
end
|
||||||
|
|
||||||
|
it "returns :unknown_error if can't recognize error code" do
|
||||||
|
expect(described_class.symbolic_error_code(123)).to eq :unknown_error
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
describe '#create_server_object' do
|
describe '#create_server_object' do
|
||||||
it 'builds Server object' do
|
it 'builds Server object' do
|
||||||
server = executor.create_server_object('created_by' => 'me')
|
server = executor.create_server_object('created_by' => 'me')
|
||||||
|
|||||||
@ -130,7 +130,7 @@ class StackBootstrapWorker < Worker
|
|||||||
|
|
||||||
@out.puts
|
@out.puts
|
||||||
results.each do |chef_node_name, code|
|
results.each do |chef_node_name, code|
|
||||||
human_readable_code = Devops::Executor::ServerExecutor.symbolic_result_code(code)
|
human_readable_code = Devops::Executor::ServerExecutor.symbolic_error_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
|
||||||
|
|
||||||
@ -144,7 +144,7 @@ class StackBootstrapWorker < Worker
|
|||||||
def errors_in_bootstrapping_present?(result_codes)
|
def errors_in_bootstrapping_present?(result_codes)
|
||||||
bootstrap_error_codes = []
|
bootstrap_error_codes = []
|
||||||
[:server_bootstrap_fail, :server_not_in_chef_nodes, :server_bootstrap_unknown_error].each do |symbolic_code|
|
[:server_bootstrap_fail, :server_not_in_chef_nodes, :server_bootstrap_unknown_error].each do |symbolic_code|
|
||||||
bootstrap_error_codes << Devops::Executor::ServerExecutor.result_code(symbolic_code)
|
bootstrap_error_codes << Devops::Executor::ServerExecutor.error_code(symbolic_code)
|
||||||
end
|
end
|
||||||
|
|
||||||
(bootstrap_error_codes & result_codes).size > 0
|
(bootstrap_error_codes & result_codes).size > 0
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user