X-Git-Url: https://gerrit.onap.org/r/gitweb?p=demo.git;a=blobdiff_plain;f=heat%2FvFW_CNF_CDS%2Fautomation%2Fcreate_cloud_regions.py;h=eb3e95bb3742d4a99cad2f09ba3753463d229936;hp=d4b318f91d30529ec683eedf0654b63c3ccfc192;hb=a8796cca80241822f26e83aea0f5b2dc7b56f92c;hpb=734b3d2134b4e1dd3cd946b8badd2baf83f97110 diff --git a/heat/vFW_CNF_CDS/automation/create_cloud_regions.py b/heat/vFW_CNF_CDS/automation/create_cloud_regions.py index d4b318f9..eb3e95bb 100755 --- a/heat/vFW_CNF_CDS/automation/create_cloud_regions.py +++ b/heat/vFW_CNF_CDS/automation/create_cloud_regions.py @@ -17,6 +17,7 @@ import logging import os +from uuid import uuid4 from onapsdk.so.so_db_adapter import SoDbAdapter, IdentityService @@ -109,17 +110,29 @@ def add_availability_zone(cloud_region): def add_tenant(cloud_region): logger.info("******** Tenant *******") region_id = cloud_region.cloud_region_id - tenant_id = Config.CLOUD_REGIONS[region_id]["tenant"]["id"] + is_k8s = is_k8s_region(region_id) tenant_name = Config.CLOUD_REGIONS[region_id]["tenant"]["name"] - try: - cloud_region.get_tenant(tenant_id) - logger.info("Tenant exists") - except ResourceNotFound: - logger.info("Tenant does not exist") - cloud_region.add_tenant(tenant_id=tenant_id, - tenant_name=tenant_name) - logger.info("Tenant added to region") + if is_k8s: + try: + next(_tenant for _tenant in cloud_region.tenants if _tenant.name == tenant_name) + logger.info("Tenant exists") + except (StopIteration, ResourceNotFound): + tenant_id = str(uuid4()) + logger.info("Tenant does not exist") + cloud_region.add_tenant(tenant_id=tenant_id, + tenant_name=tenant_name) + logger.info(f"Tenant {tenant_name} added to region") + else: + tenant_id = Config.CLOUD_REGIONS[region_id]["tenant"]["id"] + try: + cloud_region.get_tenant(tenant_id) + logger.info("Tenant exists") + except ResourceNotFound: + logger.info("Tenant does not exist") + cloud_region.add_tenant(tenant_id=tenant_id, + tenant_name=tenant_name) + logger.info(f"Tenant {tenant_name} added to region") def create_customer():