aboutsummaryrefslogtreecommitdiffstats
path: root/sfc/lib/cleanup.py
diff options
context:
space:
mode:
authorManuel Buil <mbuil@suse.com>2017-12-14 12:13:19 +0100
committerManuel Buil <mbuil@suse.com>2017-12-21 17:28:32 +0100
commitdeca6d35cd4ba0c6444b92d15b07ade1169d0ef3 (patch)
tree36abacae739f5c6bb494c2502b6ad3e37446d676 /sfc/lib/cleanup.py
parent163aacce943bf07a5603587b9ae681ff9bf4605b (diff)
Migrate to SNAPs openstack library
Functest is deprecating its openstack library which we were using extensively We need then to move to an alternative and the best appears to be SNAPs Change-Id: Icaa0b9f1ec580545b9d0faa88be2080a310deaf7 Signed-off-by: Manuel Buil<mbuil@suse.com>
Diffstat (limited to 'sfc/lib/cleanup.py')
-rw-r--r--sfc/lib/cleanup.py92
1 files changed, 44 insertions, 48 deletions
diff --git a/sfc/lib/cleanup.py b/sfc/lib/cleanup.py
index 9c7b5484..32835fa8 100644
--- a/sfc/lib/cleanup.py
+++ b/sfc/lib/cleanup.py
@@ -1,97 +1,85 @@
import sys
import time
import logging
-import functest.utils.openstack_utils as os_utils
-import sfc.lib.openstack_tacker as os_tacker
-import sfc.lib.utils as utils
+import sfc.lib.openstack_utils as os_sfc_utils
+import sfc.lib.odl_utils as odl_utils
logger = logging.getLogger(__name__)
def delete_odl_resources(odl_ip, odl_port, resource):
- rsrc_list = utils.get_odl_resource_list(odl_ip, odl_port, resource)
- elem_names = utils.odl_resource_list_names(resource, rsrc_list)
+ rsrc_list = odl_utils.get_odl_resource_list(odl_ip, odl_port, resource)
+ elem_names = odl_utils.odl_resource_list_names(resource, rsrc_list)
for elem in elem_names:
logger.info("Removing ODL resource: {0}/{1}".format(resource, elem))
- utils.delete_odl_resource_elem(odl_ip, odl_port, resource, elem)
+ odl_utils.delete_odl_resource_elem(odl_ip, odl_port, resource, elem)
def delete_odl_ietf_access_lists(odl_ip, odl_port):
- acl_list = utils.get_odl_acl_list(odl_ip, odl_port)
- acl_types_names = utils.odl_acl_types_names(acl_list)
+ acl_list = odl_utils.get_odl_acl_list(odl_ip, odl_port)
+ acl_types_names = odl_utils.odl_acl_types_names(acl_list)
for acl_type, acl_name in acl_types_names:
- utils.delete_odl_acl(odl_ip, odl_port, acl_type, acl_name)
+ odl_utils.delete_odl_acl(odl_ip, odl_port, acl_type, acl_name)
def delete_vnfds():
- t = os_tacker.get_tacker_client()
- vnfds = os_tacker.list_vnfds(t)
+ t = os_sfc_utils.get_tacker_client()
+ vnfds = os_sfc_utils.list_vnfds(t)
if vnfds is None:
return
for vnfd in vnfds:
logger.info("Removing vnfd: {0}".format(vnfd))
- os_tacker.delete_vnfd(t, vnfd_id=vnfd)
+ os_sfc_utils.delete_vnfd(t, vnfd_id=vnfd)
def delete_vnfs():
- t = os_tacker.get_tacker_client()
- vnfs = os_tacker.list_vnfs(t)
+ t = os_sfc_utils.get_tacker_client()
+ vnfs = os_sfc_utils.list_vnfs(t)
if vnfs is None:
return
for vnf in vnfs:
logger.info("Removing vnf: {0}".format(vnf))
- os_tacker.delete_vnf(t, vnf_id=vnf)
+ os_sfc_utils.delete_vnf(t, vnf_id=vnf)
def delete_vnffgs():
- t = os_tacker.get_tacker_client()
- vnffgs = os_tacker.list_vnffgs(t)
+ t = os_sfc_utils.get_tacker_client()
+ vnffgs = os_sfc_utils.list_vnffgs(t)
if vnffgs is None:
return
for vnffg in reversed(vnffgs):
logger.info("Removing vnffg: {0}".format(vnffg))
- os_tacker.delete_vnffg(t, vnffg_id=vnffg)
+ os_sfc_utils.delete_vnffg(t, vnffg_id=vnffg)
def delete_vnffgds():
- t = os_tacker.get_tacker_client()
- vnffgds = os_tacker.list_vnffgds(t)
+ t = os_sfc_utils.get_tacker_client()
+ vnffgds = os_sfc_utils.list_vnffgds(t)
if vnffgds is None:
return
for vnffgd in vnffgds:
logger.info("Removing vnffgd: {0}".format(vnffgd))
- os_tacker.delete_vnffgd(t, vnffgd_id=vnffgd)
+ os_sfc_utils.delete_vnffgd(t, vnffgd_id=vnffgd)
def delete_vims():
- t = os_tacker.get_tacker_client()
- vims = os_tacker.list_vims(t)
+ t = os_sfc_utils.get_tacker_client()
+ vims = os_sfc_utils.list_vims(t)
if vims is None:
return
for vim in vims:
logger.info("Removing vim: {0}".format(vim))
- os_tacker.delete_vim(t, vim_id=vim)
+ os_sfc_utils.delete_vim(t, vim_id=vim)
-def delete_floating_ips():
- n = os_utils.get_nova_client()
- fips = os_utils.get_floating_ips(n)
- if fips is None:
- return
- for fip in fips:
- logger.info("Removing floating ip: {0}".format(fip.ip))
- os_utils.delete_floating_ip(n, fip.id)
-
-
-def delete_instances():
- n = os_utils.get_nova_client()
- instances = os_utils.get_instances(n)
- if instances is None:
- return
- for inst in instances:
- logger.info("Removing instance: {0}".format(inst.id))
- os_utils.delete_instance(n, inst.id)
+# Creators is a list full of SNAPs objects
+def delete_openstack_objects(creators):
+ for creator in reversed(creators):
+ try:
+ creator.clean()
+ except Exception as e:
+ logger.error('Unexpected error cleaning - %s', e)
def cleanup_odl(odl_ip, odl_port):
@@ -102,21 +90,29 @@ def cleanup_odl(odl_ip, odl_port):
delete_odl_ietf_access_lists(odl_ip, odl_port)
-def cleanup(odl_ip=None, odl_port=None):
+def cleanup(creators, odl_ip=None, odl_port=None):
+ delete_vnffgs()
+ delete_vnffgds()
+ delete_vnfs()
+ time.sleep(20)
+ delete_vnfds()
+ delete_vims()
+ delete_openstack_objects(creators)
+ if odl_ip is not None and odl_port is not None:
+ cleanup_odl(odl_ip, odl_port)
+
+
+def cleanup_from_bash(odl_ip=None, odl_port=None):
delete_vnffgs()
delete_vnffgds()
delete_vnfs()
time.sleep(20)
delete_vnfds()
delete_vims()
- delete_floating_ips()
- delete_instances()
if odl_ip is not None and odl_port is not None:
cleanup_odl(odl_ip, odl_port)
if __name__ == '__main__':
if len(sys.argv) > 2:
- cleanup(sys.argv[1], sys.argv[2])
- else:
- cleanup()
+ cleanup_from_bash(sys.argv[1], sys.argv[2])