diff options
author | 2018-07-11 17:33:44 +0200 | |
---|---|---|
committer | 2018-07-11 17:57:54 +0200 | |
commit | 6166caffe31888ef237874fdcaf088ac4ff8d003 (patch) | |
tree | 40f78113f88ffcd4e6e4dda81e5aee9c3be95eb9 /functest/core | |
parent | 4fb7e1330137fb77ed1b29bbc7c1491b6e12d9b6 (diff) |
Clean all possible resources
It checks all openstack resources before cleaning.
It allows removing images even if the test fail quickly.
Change-Id: I1763b8a70fa7ffeb03c435e8e775c7afd1a7adac
Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
Diffstat (limited to 'functest/core')
-rw-r--r-- | functest/core/singlevm.py | 18 | ||||
-rw-r--r-- | functest/core/tenantnetwork.py | 21 |
2 files changed, 25 insertions, 14 deletions
diff --git a/functest/core/singlevm.py b/functest/core/singlevm.py index 23f453722..ad79a8e14 100644 --- a/functest/core/singlevm.py +++ b/functest/core/singlevm.py @@ -186,8 +186,10 @@ class VmReady1(tenantnetwork.TenantNetwork1): assert self.orig_cloud assert self.cloud super(VmReady1, self).clean() - self.cloud.delete_image(self.image.id) - self.orig_cloud.delete_flavor(self.flavor.id) + if self.image: + self.cloud.delete_image(self.image.id) + if self.flavor: + self.orig_cloud.delete_flavor(self.flavor.id) except Exception: # pylint: disable=broad-except self.__logger.exception("Cannot clean all ressources") @@ -368,10 +370,14 @@ class SingleVm1(VmReady1): try: assert self.orig_cloud assert self.cloud - self.cloud.delete_floating_ip(self.fip.id) - self.cloud.delete_server(self.sshvm, wait=True) - self.cloud.delete_security_group(self.sec.id) - self.cloud.delete_keypair(self.keypair.name) + if self.fip: + self.cloud.delete_floating_ip(self.fip.id) + if self.sshvm: + self.cloud.delete_server(self.sshvm, wait=True) + if self.sec: + self.cloud.delete_security_group(self.sec.id) + if self.keypair: + self.cloud.delete_keypair(self.keypair.name) super(SingleVm1, self).clean() except Exception: # pylint: disable=broad-except self.__logger.exception("Cannot clean all ressources") diff --git a/functest/core/tenantnetwork.py b/functest/core/tenantnetwork.py index da4ff7482..05c14c2d4 100644 --- a/functest/core/tenantnetwork.py +++ b/functest/core/tenantnetwork.py @@ -93,10 +93,10 @@ class NewProject(object): """Remove projects/users""" try: assert self.orig_cloud - assert self.user.id - assert self.project.id - self.orig_cloud.delete_user(self.user.id) - self.orig_cloud.delete_project(self.project.id) + if self.user: + self.orig_cloud.delete_user(self.user.id) + if self.project: + self.orig_cloud.delete_project(self.project.id) if self.role: self.orig_cloud.delete_role(self.role.id) except Exception: # pylint: disable=broad-except @@ -210,10 +210,15 @@ class TenantNetwork1(testcase.TestCase): def clean(self): try: assert self.cloud - self.cloud.remove_router_interface(self.router, self.subnet.id) - self.cloud.delete_router(self.router.id) - self.cloud.delete_subnet(self.subnet.id) - self.cloud.delete_network(self.network.id) + if self.router: + if self.subnet: + self.cloud.remove_router_interface( + self.router, self.subnet.id) + self.cloud.delete_router(self.router.id) + if self.subnet: + self.cloud.delete_subnet(self.subnet.id) + if self.network: + self.cloud.delete_network(self.network.id) except Exception: # pylint: disable=broad-except self.__logger.exception("cannot clean all ressources") |