aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xutils/openstack_clean.py24
1 files changed, 16 insertions, 8 deletions
diff --git a/utils/openstack_clean.py b/utils/openstack_clean.py
index ce82bc15..8aba763c 100755
--- a/utils/openstack_clean.py
+++ b/utils/openstack_clean.py
@@ -48,7 +48,8 @@ def remove_instances(nova_client, default_instances):
instance_name = getattr(instance, 'name')
instance_id = getattr(instance, 'id')
logger.debug("'%s', ID=%s " % (instance_name, instance_id))
- if instance_id not in default_instances:
+ if (instance_id not in default_instances and
+ instance_name not in default_instances.values()):
logger.debug("Removing instance '%s' ..." % instance_id)
if os_utils.delete_instance(nova_client, instance_id):
logger.debug(" > Request sent.")
@@ -83,7 +84,8 @@ def remove_images(nova_client, default_images):
image_name = getattr(image, 'name')
image_id = getattr(image, 'id')
logger.debug("'%s', ID=%s " % (image_name, image_id))
- if image_id not in default_images:
+ if (image_id not in default_images and
+ image_name not in default_images.values()):
logger.debug("Removing image '%s', ID=%s ..."
% (image_name, image_id))
if os_utils.delete_glance_image(nova_client, image_id):
@@ -107,7 +109,8 @@ def remove_volumes(cinder_client, default_volumes):
volume_id = getattr(volume, 'id')
volume_name = getattr(volume, 'display_name')
logger.debug("'%s', ID=%s " % (volume_name, volume_id))
- if volume_id not in default_volumes:
+ if (volume_id not in default_volumes and
+ volume_name not in default_volumes.values()):
logger.debug("Removing cinder volume %s ..." % volume_id)
if os_utils.delete_volume(cinder_client, volume_id):
logger.debug(" > Done!")
@@ -138,7 +141,8 @@ def remove_floatingips(nova_client, default_floatingips):
fip_id = getattr(fip, 'id')
fip_ip = getattr(fip, 'ip')
logger.debug("'%s', ID=%s " % (fip_ip, fip_id))
- if fip_id not in default_floatingips:
+ if (fip_id not in default_floatingips and
+ fip_ip not in default_floatingips.values()):
logger.debug("Removing floating IP %s ..." % fip_id)
if os_utils.delete_floating_ip(nova_client, fip_id):
logger.debug(" > Done!")
@@ -173,7 +177,8 @@ def remove_networks(neutron_client, default_networks, default_routers):
net_id = network['id']
net_name = network['name']
logger.debug(" '%s', ID=%s " % (net_name, net_id))
- if net_id in default_networks:
+ if (net_id in default_networks and
+ net_name in default_networks.values()):
logger.debug(" > this is a default network and will "
"NOT be deleted.")
elif network['router:external'] is True:
@@ -260,7 +265,8 @@ def remove_routers(neutron_client, routers, default_routers):
for router in routers:
router_id = router['id']
router_name = router['name']
- if router_id not in default_routers:
+ if (router_id not in default_routers and
+ router_name not in default_routers.values()):
logger.debug("Checking '%s' with ID=(%s) ..." % (router_name,
router_id))
if router['external_gateway_info'] is not None:
@@ -317,7 +323,8 @@ def remove_users(keystone_client, default_users):
user_name = getattr(user, 'name')
user_id = getattr(user, 'id')
logger.debug("'%s', ID=%s " % (user_name, user_id))
- if user_id not in default_users:
+ if (user_id not in default_users and
+ user_name not in default_users.values()):
logger.debug(" Removing '%s'..." % user_name)
if os_utils.delete_user(keystone_client, user_id):
logger.debug(" > Done!")
@@ -340,7 +347,8 @@ def remove_tenants(keystone_client, default_tenants):
tenant_name = getattr(tenant, 'name')
tenant_id = getattr(tenant, 'id')
logger.debug("'%s', ID=%s " % (tenant_name, tenant_id))
- if tenant_id not in default_tenants:
+ if (tenant_id not in default_tenants and
+ tenant_name not in default_tenants.values()):
logger.debug(" Removing '%s'..." % tenant_name)
if os_utils.delete_tenant(keystone_client, tenant_id):
logger.debug(" > Done!")