lib/vm_shepherd/vcloud/destroyer.rb in vm_shepherd-1.11.2 vs lib/vm_shepherd/vcloud/destroyer.rb in vm_shepherd-1.11.3
- old
+ new
@@ -4,44 +4,42 @@
def initialize(client:, vdc_name:)
@client = client
@vdc_name = vdc_name
end
- def delete_catalog_and_vapps(catalog, vapp_names, logger)
- delete_vapps(vapp_names, logger)
+ def delete_catalog_and_vms(catalog, vapp_names, logger)
+ delete_vms_in_vapps(vapp_names, logger)
delete_catalog(catalog)
end
private
def vdc
@vdc ||= @client.find_vdc_by_name(@vdc_name)
end
- def delete_vapps(vapp_names, logger)
+ def delete_vms_in_vapps(vapp_names, logger)
vapp_names.each do |vapp_name|
begin
- delete_vapp(vapp_name)
+ delete_vms_in_vapp(vapp_name)
rescue VCloudSdk::ObjectNotFoundError => e
logger.debug "Could not delete vapp '#{vapp_name}': #{e.inspect}"
end
end
end
def delete_catalog(catalog)
@client.delete_catalog_by_name(catalog) if @client.catalog_exists?(catalog)
end
- def delete_vapp(vapp_name)
+ def delete_vms_in_vapp(vapp_name)
vapp = vdc.find_vapp_by_name(vapp_name)
vapp.vms.map do |vm|
vm.independent_disks.map do |disk|
vm.detach_disk(disk)
vdc.delete_disk_by_name(disk.name)
end
end
- vapp.power_off
- vapp.delete
end
end
end
end