summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDr. Jens Harbott <harbott@osism.tech>2022-08-29 10:46:31 +0200
committerDr. Jens Harbott <frickler@offenerstapel.de>2022-08-29 12:09:40 +0000
commit568ea2aec23caab6c47452b80940290c2f48caf3 (patch)
tree50910835af33ac5f652b9e7ec1e407d4a5ab165c
parentee6eebea9bdd1a15554f2e64d6ef498dff51f4b8 (diff)
downloadtempest-568ea2aec23caab6c47452b80940290c2f48caf3.tar.gz
Fix creds cleanup for system scope
System-scoped credentials don't have an associated project, so don't try to cleanup the project nor its default security group. Related-Bug: 1988026 Change-Id: I32707d1e7b4465cb0d713b7c245f3668f70e6de7
-rw-r--r--tempest/lib/common/dynamic_creds.py35
1 files changed, 18 insertions, 17 deletions
diff --git a/tempest/lib/common/dynamic_creds.py b/tempest/lib/common/dynamic_creds.py
index be8c0e890..d687eb503 100644
--- a/tempest/lib/common/dynamic_creds.py
+++ b/tempest/lib/common/dynamic_creds.py
@@ -559,23 +559,24 @@ class DynamicCredentialProvider(cred_provider.CredentialProvider):
except lib_exc.NotFound:
LOG.warning("user with name: %s not found for delete",
creds.username)
- # NOTE(zhufl): Only when neutron's security_group ext is
- # enabled, cleanup_default_secgroup will not raise error. But
- # here cannot use test_utils.is_extension_enabled for it will cause
- # "circular dependency". So here just use try...except to
- # ensure tenant deletion without big changes.
- try:
- if self.neutron_available:
- self.cleanup_default_secgroup(
- self.security_groups_admin_client, creds.tenant_id)
- except lib_exc.NotFound:
- LOG.warning("failed to cleanup tenant %s's secgroup",
- creds.tenant_name)
- try:
- self.creds_client.delete_project(creds.tenant_id)
- except lib_exc.NotFound:
- LOG.warning("tenant with name: %s not found for delete",
- creds.tenant_name)
+ if creds.tenant_id:
+ # NOTE(zhufl): Only when neutron's security_group ext is
+ # enabled, cleanup_default_secgroup will not raise error. But
+ # here cannot use test_utils.is_extension_enabled for it will
+ # cause "circular dependency". So here just use try...except to
+ # ensure tenant deletion without big changes.
+ try:
+ if self.neutron_available:
+ self.cleanup_default_secgroup(
+ self.security_groups_admin_client, creds.tenant_id)
+ except lib_exc.NotFound:
+ LOG.warning("failed to cleanup tenant %s's secgroup",
+ creds.tenant_name)
+ try:
+ self.creds_client.delete_project(creds.tenant_id)
+ except lib_exc.NotFound:
+ LOG.warning("tenant with name: %s not found for delete",
+ creds.tenant_name)
# if cred is domain scoped, delete ephemeral domain
# do not delete default domain