aboutsummaryrefslogtreecommitdiffstats
path: root/sfc/lib/cleanup.py
diff options
context:
space:
mode:
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])