aboutsummaryrefslogtreecommitdiffstats
path: root/testcases/VIM/OpenStack/CI/libraries/clean_openstack.py
diff options
context:
space:
mode:
Diffstat (limited to 'testcases/VIM/OpenStack/CI/libraries/clean_openstack.py')
-rw-r--r--testcases/VIM/OpenStack/CI/libraries/clean_openstack.py164
1 files changed, 92 insertions, 72 deletions
diff --git a/testcases/VIM/OpenStack/CI/libraries/clean_openstack.py b/testcases/VIM/OpenStack/CI/libraries/clean_openstack.py
index 8ea08b49d..bff71f4e0 100644
--- a/testcases/VIM/OpenStack/CI/libraries/clean_openstack.py
+++ b/testcases/VIM/OpenStack/CI/libraries/clean_openstack.py
@@ -23,7 +23,6 @@
import argparse
import logging
import os
-import re
import sys
import time
import yaml
@@ -34,7 +33,7 @@ from keystoneclient.v2_0 import client as keystoneclient
from cinderclient import client as cinderclient
parser = argparse.ArgumentParser()
-parser.add_argument("-d", "--debug", help="Debug mode", action="store_true")
+parser.add_argument("-d", "--debug", help="Debug mode", action="store_true")
args = parser.parse_args()
@@ -48,14 +47,12 @@ if args.debug:
else:
ch.setLevel(logging.INFO)
-formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
+formatter = logging.Formatter('% (asctime)s - % (name)s - '
+ '% (levelname)s - % (message)s')
ch.setFormatter(formatter)
logger.addHandler(ch)
-REPO_PATH=os.environ['repos_dir']+'/functest/'
-if not os.path.exists(REPO_PATH):
- logger.error("Functest repository directory not found '%s'" % REPO_PATH)
- exit(-1)
+REPO_PATH = os.environ['repos_dir'] + '/functest/'
sys.path.append(REPO_PATH + "testcases/")
import openstack_utils
@@ -80,9 +77,11 @@ default_floatingips = defaults_yaml.get('floatingips')
default_users = defaults_yaml.get('users')
default_tenants = defaults_yaml.get('tenants')
+
def separator():
logger.info("-------------------------------------------")
+
def remove_instances(nova_client):
logger.info("Removing Nova instances...")
instances = openstack_utils.get_instances(nova_client)
@@ -93,12 +92,13 @@ def remove_instances(nova_client):
for instance in instances:
instance_name = getattr(instance, 'name')
instance_id = getattr(instance, 'id')
- logger.debug("Removing instance '%s', ID=%s ..." % (instance_name,instance_id))
+ logger.debug("Removing instance '%s', ID=%s ..."
+ % (instance_name, instance_id))
if openstack_utils.delete_instance(nova_client, instance_id):
logger.debug(" > Done!")
else:
logger.error("There has been a problem removing the "
- "instance %s..." % instance_id)
+ "instance %s..." % instance_id)
timeout = 50
while timeout > 0:
@@ -121,16 +121,18 @@ def remove_images(nova_client):
for image in images:
image_name = getattr(image, 'name')
image_id = getattr(image, 'id')
- logger.debug("'%s', ID=%s " %(image_name,image_id))
+ logger.debug("'%s', ID=%s " % (image_name, image_id))
if image_id not in default_images:
- logger.debug("Removing image '%s', ID=%s ..." % (image_name,image_id))
+ logger.debug("Removing image '%s', ID=%s ..."
+ % (image_name, image_id))
if openstack_utils.delete_glance_image(nova_client, image_id):
logger.debug(" > Done!")
else:
logger.error("There has been a problem removing the"
- "image %s..." % image_id)
+ "image %s..." % image_id)
else:
- logger.debug(" > this is a default image and will NOT be deleted.")
+ logger.debug(" > this is a default image and will "
+ "NOT be deleted.")
def remove_volumes(cinder_client):
@@ -143,7 +145,7 @@ def remove_volumes(cinder_client):
for volume in volumes:
volume_id = getattr(volume, 'id')
volume_name = getattr(volume, 'display_name')
- logger.debug("'%s', ID=%s " %(volume_name,volume_id))
+ logger.debug("'%s', ID=%s " % (volume_name, volume_id))
if volume_id not in default_volumes:
logger.debug("Removing cinder volume %s ..." % volume_id)
if openstack_utils.delete_volume(cinder_client, volume_id):
@@ -151,14 +153,16 @@ def remove_volumes(cinder_client):
else:
logger.debug("Trying forced removal...")
if openstack_utils.delete_volume(cinder_client,
- volume_id,
- forced=True):
+ volume_id,
+ forced=True):
logger.debug(" > Done!")
else:
logger.error("There has been a problem removing the "
- "volume %s..." % volume_id)
+ "volume %s..." % volume_id)
else:
- logger.debug(" > this is a default volume and will NOT be deleted.")
+ logger.debug(" > this is a default volume and will "
+ "NOT be deleted.")
+
def remove_floatingips(nova_client):
logger.info("Removing floating IPs...")
@@ -172,7 +176,7 @@ def remove_floatingips(nova_client):
for fip in floatingips:
fip_id = getattr(fip, 'id')
fip_ip = getattr(fip, 'ip')
- logger.debug("'%s', ID=%s " %(fip_ip,fip_id))
+ logger.debug("'%s', ID=%s " % (fip_ip, fip_id))
if fip_id not in default_floatingips:
logger.debug("Removing floating IP %s ..." % fip_id)
if openstack_utils.delete_floating_ip(nova_client, fip_id):
@@ -180,10 +184,10 @@ def remove_floatingips(nova_client):
deleted += 1
else:
logger.error("There has been a problem removing the "
- "floating IP %s..." % fip_id)
+ "floating IP %s..." % fip_id)
else:
- logger.debug(" > this is a default floating IP and will NOT be deleted.")
-
+ logger.debug(" > this is a default floating IP and will "
+ "NOT be deleted.")
timeout = 50
while timeout > 0:
@@ -200,45 +204,47 @@ def remove_networks(neutron_client):
logger.info("Removing Neutron objects")
network_ids = []
networks = openstack_utils.get_network_list(neutron_client)
- if networks == None:
+ if networks is None:
logger.debug("There are no networks in the deployment. ")
else:
logger.debug("Existing networks:")
for network in networks:
net_id = network['id']
net_name = network['name']
- logger.debug(" '%s', ID=%s " %(net_name,net_id))
+ logger.debug(" '%s', ID=%s " % (net_name, net_id))
if net_id in default_networks:
- logger.debug(" > this is a default network and will NOT be deleted.")
- elif network['router:external'] == True:
- logger.debug(" > this is an external network and will NOT be deleted.")
+ logger.debug(" > this is a default network and will "
+ "NOT be deleted.")
+ elif network['router:external'] is True:
+ logger.debug(" > this is an external network and will "
+ "NOT be deleted.")
else:
logger.debug(" > this network will be deleted.")
network_ids.append(net_id)
- #delete ports
+ # delete ports
ports = openstack_utils.get_port_list(neutron_client)
if ports is None:
logger.debug("There are no ports in the deployment. ")
else:
remove_ports(neutron_client, ports, network_ids)
- #remove routers
+ # remove routers
routers = openstack_utils.get_router_list(neutron_client)
if routers is None:
logger.debug("There are no routers in the deployment. ")
else:
remove_routers(neutron_client, routers)
- #remove networks
- if network_ids != None:
+ # remove networks
+ if network_ids is not None:
for net_id in network_ids:
logger.debug("Removing network %s ..." % net_id)
if openstack_utils.delete_neutron_net(neutron_client, net_id):
logger.debug(" > Done!")
else:
logger.error("There has been a problem removing the "
- "network %s..." % net_id)
+ "network %s..." % net_id)
def remove_ports(neutron_client, ports, network_ids):
@@ -248,28 +254,33 @@ def remove_ports(neutron_client, ports, network_ids):
try:
subnet_id = port['fixed_ips'][0]['subnet_id']
except:
- logger.info(" > WARNING: Port %s does not contain 'fixed_ips'" % port_id)
+ logger.info(" > WARNING: Port %s does not contain 'fixed_ips'"
+ % port_id)
print port
router_id = port['device_id']
if len(port['fixed_ips']) == 0 and router_id == '':
logger.debug("Removing port %s ..." % port_id)
- if openstack_utils.delete_neutron_port(neutron_client, port_id):
+ if (openstack_utils.delete_neutron_port(neutron_client,
+ port_id)):
logger.debug(" > Done!")
else:
logger.error("There has been a problem removing the "
- "port %s ..." %port_id)
+ "port %s ..." % port_id)
force_remove_port(neutron_client, port_id)
elif port['device_owner'] == 'network:router_interface':
logger.debug("Detaching port %s (subnet %s) from router %s ..."
- % (port_id,subnet_id,router_id))
- if openstack_utils.remove_interface_router(neutron_client,
- router_id, subnet_id):
- time.sleep(5) # leave 5 seconds to detach before doing anything else
+ % (port_id, subnet_id, router_id))
+ if openstack_utils.\
+ remove_interface_router(neutron_client,
+ router_id,
+ subnet_id):
+ time.sleep(5) # leave 5 seconds to detach
logger.debug(" > Done!")
else:
logger.error("There has been a problem removing the "
- "interface %s from router %s..." %(subnet_id,router_id))
+ "interface %s from router %s..."
+ % (subnet_id, router_id))
force_remove_port(neutron_client, port_id)
else:
force_remove_port(neutron_client, port_id)
@@ -278,14 +289,14 @@ def remove_ports(neutron_client, ports, network_ids):
def force_remove_port(neutron_client, port_id):
logger.debug("Clearing device_owner for port %s ..." % port_id)
openstack_utils.update_neutron_port(neutron_client,
- port_id,
- device_owner='clear')
+ port_id,
+ device_owner='clear')
logger.debug("Removing port %s ..." % port_id)
if openstack_utils.delete_neutron_port(neutron_client, port_id):
logger.debug(" > Done!")
else:
- logger.error("There has been a problem removing "
- "the port %s..." % port_id)
+ logger.error("There has been a problem removing the port %s..."
+ % port_id)
def remove_routers(neutron_client, routers):
@@ -293,22 +304,28 @@ def remove_routers(neutron_client, routers):
router_id = router['id']
router_name = router['name']
if router_id not in default_routers:
- logger.debug("Checking '%s' with ID=(%s) ..." % (router_name,router_id))
- if router['external_gateway_info'] != None:
- logger.debug("Router has gateway to external network. Removing link...")
- if openstack_utils.remove_gateway_router(neutron_client, router_id):
+ logger.debug("Checking '%s' with ID=(%s) ..." % (router_name,
+ router_id))
+ if router['external_gateway_info'] is not None:
+ logger.debug("Router has gateway to external network."
+ "Removing link...")
+ if openstack_utils.remove_gateway_router(neutron_client,
+ router_id):
logger.debug(" > Done!")
else:
logger.error("There has been a problem removing "
- "the gateway...")
+ "the gateway...")
else:
- logger.debug("Router is not connected to anything. Ready to remove...")
- logger.debug("Removing router %s(%s) ..." % (router_name, router_id))
- if openstack_utils.delete_neutron_router(neutron_client, router_id):
+ logger.debug("Router is not connected to anything."
+ "Ready to remove...")
+ logger.debug("Removing router %s(%s) ..."
+ % (router_name, router_id))
+ if openstack_utils.delete_neutron_router(neutron_client,
+ router_id):
logger.debug(" > Done!")
else:
logger.error("There has been a problem removing the "
- "router '%s'(%s)..." % (router_name, router_id))
+ "router '%s'(%s)..." % (router_name, router_id))
def remove_security_groups(neutron_client):
@@ -321,14 +338,15 @@ def remove_security_groups(neutron_client):
for secgroup in secgroups:
secgroup_name = secgroup['name']
secgroup_id = secgroup['id']
- logger.debug("'%s', ID=%s " %(secgroup_name,secgroup_id))
+ logger.debug("'%s', ID=%s " % (secgroup_name, secgroup_id))
if secgroup_id not in default_security_groups:
logger.debug(" Removing '%s'..." % secgroup_name)
- if openstack_utils.delete_security_group(neutron_client, secgroup_id):
+ if openstack_utils.delete_security_group(neutron_client,
+ secgroup_id):
logger.debug(" > Done!")
else:
logger.error("There has been a problem removing the "
- "security group %s..." % secgroup_id)
+ "security group %s..." % secgroup_id)
else:
logger.debug(" > this is a default security group and will NOT "
"be deleted.")
@@ -337,51 +355,52 @@ def remove_security_groups(neutron_client):
def remove_users(keystone_client):
logger.info("Removing Users...")
users = openstack_utils.get_users(keystone_client)
- if users == None:
+ if users is None:
logger.debug("There are no users in the deployment. ")
return
for user in users:
user_name = getattr(user, 'name')
user_id = getattr(user, 'id')
- logger.debug("'%s', ID=%s " %(user_name,user_id))
+ logger.debug("'%s', ID=%s " % (user_name, user_id))
if user_id not in default_users:
logger.debug(" Removing '%s'..." % user_name)
- if openstack_utils.delete_user(keystone_client,user_id):
+ if openstack_utils.delete_user(keystone_client, user_id):
logger.debug(" > Done!")
else:
logger.error("There has been a problem removing the "
- "user '%s'(%s)..." % (user_name,user_id))
+ "user '%s'(%s)..." % (user_name, user_id))
else:
- logger.debug(" > this is a default user and will NOT be deleted.")
+ logger.debug(" > this is a default user and will "
+ "NOT be deleted.")
def remove_tenants(keystone_client):
logger.info("Removing Tenants...")
tenants = openstack_utils.get_tenants(keystone_client)
- if tenants == None:
+ if tenants is None:
logger.debug("There are no tenants in the deployment. ")
return
for tenant in tenants:
- tenant_name=getattr(tenant, 'name')
+ tenant_name = getattr(tenant, 'name')
tenant_id = getattr(tenant, 'id')
- logger.debug("'%s', ID=%s " %(tenant_name,tenant_id))
+ logger.debug("'%s', ID=%s " % (tenant_name, tenant_id))
if tenant_id not in default_tenants:
logger.debug(" Removing '%s'..." % tenant_name)
- if openstack_utils.delete_tenant(keystone_client,tenant_id):
+ if openstack_utils.delete_tenant(keystone_client, tenant_id):
logger.debug(" > Done!")
else:
logger.error("There has been a problem removing the "
- "tenant '%s'(%s)..." % (tenant_name,tenant_id))
+ "tenant '%s'(%s)..." % (tenant_name, tenant_id))
else:
- logger.debug(" > this is a default tenant and will NOT be deleted.")
-
+ logger.debug(" > this is a default tenant and will "
+ "NOT be deleted.")
def main():
creds_nova = openstack_utils.get_credentials("nova")
- nova_client = novaclient.Client('2',**creds_nova)
+ nova_client = novaclient.Client('2', **creds_nova)
creds_neutron = openstack_utils.get_credentials("neutron")
neutron_client = neutronclient.Client(**creds_neutron)
@@ -390,15 +409,16 @@ def main():
keystone_client = keystoneclient.Client(**creds_keystone)
creds_cinder = openstack_utils.get_credentials("cinder")
- #cinder_client = cinderclient.Client(**creds_cinder)
- cinder_client = cinderclient.Client('1',creds_cinder['username'],
+ # cinder_client = cinderclient.Client(**creds_cinder)
+ cinder_client = cinderclient.Client('1', creds_cinder['username'],
creds_cinder['api_key'],
creds_cinder['project_id'],
creds_cinder['auth_url'],
service_type="volume")
if not openstack_utils.check_credentials():
- logger.error("Please source the openrc credentials and run the script again.")
+ logger.error("Please source the openrc credentials and run "
+ "the script again.")
exit(-1)
remove_instances(nova_client)