CID-472: delete nodes from chef-server on delete
This commit is contained in:
parent
26e4d7ad06
commit
34df3f0ce0
@ -58,14 +58,15 @@ module Devops
|
||||
|
||||
def delete_stale_servers
|
||||
fetcher.stale_servers.each do |server|
|
||||
server_executor = Devops::Executor::ServerExecutor.new(server, out)
|
||||
server_executor.delete_server
|
||||
proper_remove_server(server)
|
||||
end
|
||||
end
|
||||
|
||||
def delete_stack
|
||||
stack.delete_stack_in_cloud!
|
||||
mongo.stack_servers_delete(stack.name)
|
||||
mongo.stack_servers(@stack.name).each do |server|
|
||||
proper_remove_server(server)
|
||||
end
|
||||
mongo.stack_delete(stack.id)
|
||||
end
|
||||
|
||||
@ -77,6 +78,15 @@ module Devops
|
||||
Devops::Db.connector
|
||||
end
|
||||
|
||||
def proper_remove_server(server)
|
||||
begin
|
||||
e = Devops::Executor::ServerExecutor.new(server, out)
|
||||
e.delete_server
|
||||
rescue StandardError => e
|
||||
puts_and_flush [e.message, e.backtrace].join("\n")
|
||||
end
|
||||
end
|
||||
|
||||
def reload_stack
|
||||
@stack = mongo.stack(@stack.name)
|
||||
end
|
||||
|
||||
@ -123,9 +123,14 @@ class Devops::Executor::StackExecutor
|
||||
|
||||
describe '#delete_stack', stubbed_connector: true do
|
||||
it 'deletes stack from cloud, then deletes stack servers, and then deletes stack itself' do
|
||||
allow(stubbed_connector).to receive(:stack_servers) { [build(:server, id: 'i-persisted')] }
|
||||
expect(stack).to receive(:delete_stack_in_cloud!).ordered
|
||||
expect(stubbed_connector).to receive(:stack_servers_delete).ordered
|
||||
expect(stubbed_connector).to receive(:stack_servers).ordered
|
||||
expect(stubbed_connector).to receive(:stack_delete).ordered
|
||||
|
||||
executor = instance_double(Devops::Executor::ServerExecutor, delete_server: nil)
|
||||
allow(Devops::Executor::ServerExecutor).to receive(:new) { executor }
|
||||
expect(executor).to receive(:delete_server)
|
||||
executor_with_stack.delete_stack
|
||||
end
|
||||
end
|
||||
|
||||
Loading…
Reference in New Issue
Block a user