#839: check if /etc/chef exists

This commit is contained in:
amartynov 2015-10-22 15:39:27 +03:00
parent cda1d937c4
commit 5aa65021b4

View File

@ -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}`
if r == 'not found'
res[:server] = "Directory '/etc/chef' does not exists"
else
raise(r) unless $?.success?
r = delete_from_chef_server(@server.chef_node_name)
r[:server] = "'/etc/chef' renamed to '#{new_name}'"
r
res[:server] = "'/etc/chef' renamed to '#{new_name}'"
end
rescue => e
DevopsLogger.logger.error "Unbootstrap error: " + e.message
i += 1