Class: Bosh::Director::VmDeleter
- Defined in:
- lib/bosh/director/vm_deleter.rb
Instance Method Summary collapse
- #delete_for_instance(instance) ⇒ Object
- #delete_vm(vm_cid) ⇒ Object
-
#initialize(cloud, logger, options = {}) ⇒ VmDeleter
constructor
A new instance of VmDeleter.
Constructor Details
#initialize(cloud, logger, options = {}) ⇒ VmDeleter
Returns a new instance of VmDeleter.
3 4 5 6 7 8 9 |
# File 'lib/bosh/director/vm_deleter.rb', line 3 def initialize(cloud, logger, ={}) @cloud = cloud @logger = logger force = .fetch(:force, false) @error_ignorer = ErrorIgnorer.new(force, @logger) end |
Instance Method Details
#delete_for_instance(instance) ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/bosh/director/vm_deleter.rb', line 11 def delete_for_instance(instance) if instance.vm_cid begin vm_cid = instance.vm_cid instance_name = "#{instance.job}/#{instance.uuid}" parent_id = add_event(instance.deployment.name, instance_name, vm_cid) delete_vm(instance.vm_cid) instance.update(vm_cid: nil, agent_id: nil, trusted_certs_sha1: nil, credentials: nil) rescue Exception => e raise e ensure add_event(instance.deployment.name, instance_name, vm_cid, parent_id, e) end end end |
#delete_vm(vm_cid) ⇒ Object
27 28 29 30 |
# File 'lib/bosh/director/vm_deleter.rb', line 27 def delete_vm(vm_cid) @logger.info('Deleting VM') @error_ignorer.with_force_check { @cloud.delete_vm(vm_cid) } end |