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
|
def delete_stale_servers
|
||||||
fetcher.stale_servers.each do |server|
|
fetcher.stale_servers.each do |server|
|
||||||
server_executor = Devops::Executor::ServerExecutor.new(server, out)
|
proper_remove_server(server)
|
||||||
server_executor.delete_server
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def delete_stack
|
def delete_stack
|
||||||
stack.delete_stack_in_cloud!
|
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)
|
mongo.stack_delete(stack.id)
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -77,6 +78,15 @@ module Devops
|
|||||||
Devops::Db.connector
|
Devops::Db.connector
|
||||||
end
|
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
|
def reload_stack
|
||||||
@stack = mongo.stack(@stack.name)
|
@stack = mongo.stack(@stack.name)
|
||||||
end
|
end
|
||||||
|
|||||||
@ -123,9 +123,14 @@ class Devops::Executor::StackExecutor
|
|||||||
|
|
||||||
describe '#delete_stack', stubbed_connector: true do
|
describe '#delete_stack', stubbed_connector: true do
|
||||||
it 'deletes stack from cloud, then deletes stack servers, and then deletes stack itself' 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(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
|
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
|
executor_with_stack.delete_stack
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user