diff options
author | Manuel Buil <mbuil@suse.com> | 2017-12-14 12:13:19 +0100 |
---|---|---|
committer | Manuel Buil <mbuil@suse.com> | 2017-12-21 17:28:32 +0100 |
commit | deca6d35cd4ba0c6444b92d15b07ade1169d0ef3 (patch) | |
tree | 36abacae739f5c6bb494c2502b6ad3e37446d676 /sfc/lib/cleanup.py | |
parent | 163aacce943bf07a5603587b9ae681ff9bf4605b (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.py | 92 |
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]) |