From 5aa65021b46e65a08bd42a0aca1101dfb0966903 Mon Sep 17 00:00:00 2001 From: amartynov Date: Thu, 22 Oct 2015 15:39:27 +0300 Subject: [PATCH] #839: check if /etc/chef exists --- devops-service/lib/executors/server_executor.rb | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/devops-service/lib/executors/server_executor.rb b/devops-service/lib/executors/server_executor.rb index 17189fe..abbb1ce 100644 --- a/devops-service/lib/executors/server_executor.rb +++ b/devops-service/lib/executors/server_executor.rb @@ -281,16 +281,19 @@ module Devops k = Devops::Db.connector.key(@server.key) cert_path = k.path i = 0 - res = begin + res = delete_from_chef_server(@server.chef_node_name) + begin new_name = "/etc/chef.backup_#{Time.now.strftime("%d-%m-%Y_%H.%M.%S")}" # r = `ssh -i #{cert_path} -q #{@server.remote_user}@#{@server.private_ip} rm -Rf /etc/chef` - cmd = "ssh -i #{cert_path} -q #{@server.remote_user}@#{@server.private_ip} mv /etc/chef #{new_name}" + cmd = "ssh -i #{cert_path} -q #{@server.remote_user}@#{@server.private_ip} if [[ -d /etc/chef ]]; then mv /etc/chef #{new_name}; else echo 'not found'; fi" DevopsLogger.logger.info("Trying to run command '#{cmd}'") r = `#{cmd}` - raise(r) unless $?.success? - r = delete_from_chef_server(@server.chef_node_name) - r[:server] = "'/etc/chef' renamed to '#{new_name}'" - r + if r == 'not found' + res[:server] = "Directory '/etc/chef' does not exists" + else + raise(r) unless $?.success? + res[:server] = "'/etc/chef' renamed to '#{new_name}'" + end rescue => e DevopsLogger.logger.error "Unbootstrap error: " + e.message i += 1