aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThierry Hardy <thierry.hardy@orange.com>2020-09-24 11:03:54 +0200
committerThierry Hardy <thierry.hardy@orange.com>2020-09-24 12:37:57 +0200
commitc07e351a18ab99bccb96ffd97da623a8bb7b8e6d (patch)
tree4000553cdc03f9d331651a3a97e9416d878ddfe0
parentd53b9bcaf16fc22554bd8b18e293d310a6056859 (diff)
Avoid to add vim info with ESR if the vim is already provisionned
- Optimization of the cloud configuration - CloudRegionCreateStep was called twice - Change the name of RegisterCloudRegionToMulticloud to RegisterCloudRegion to be more generic - Having the cloud creation in RegisterCloudRegionStep avoid adding the ESR each time an instantiation is launched so the CloudRegionCreateStep is now inserted in RegisterCloudRegionStep - USE_MULTICLOUD was no longer checked - The adding of availability zone and tenant is also moved to RegisterCloudRegionStep Pylint issue corrected Minor errors (init without added step) Issue-ID: TEST-264 Signed-off-by: Thierry Hardy <thierry.hardy@orange.com> Change-Id: Ibfd5506412fd7472144165c19bfe9e4dc53d6e08 Signed-off-by: Thierry Hardy <thierry.hardy@orange.com>
-rw-r--r--src/onaptests/steps/cloud/cloud_region_create.py28
-rw-r--r--src/onaptests/steps/cloud/connect_service_subscription_to_cloud_region.py27
-rw-r--r--src/onaptests/steps/cloud/link_cloud_to_complex.py2
-rw-r--r--src/onaptests/steps/cloud/register_cloud.py85
-rw-r--r--src/onaptests/steps/cloud/register_cloud_to_multicloud.py61
5 files changed, 88 insertions, 115 deletions
diff --git a/src/onaptests/steps/cloud/cloud_region_create.py b/src/onaptests/steps/cloud/cloud_region_create.py
deleted file mode 100644
index dafd6ec..0000000
--- a/src/onaptests/steps/cloud/cloud_region_create.py
+++ /dev/null
@@ -1,28 +0,0 @@
-from onapsdk.aai.cloud_infrastructure import CloudRegion
-from onapsdk.configuration import settings
-
-from ..base import BaseStep
-
-
-class CloudRegionCreateStep(BaseStep):
- """Cloud region creation step."""
-
- def execute(self):
- """Create cloud region.
-
- Use settings values:
- - CLOUD_REGION_CLOUD_OWNER,
- - CLOUD_REGION_ID,
- - CLOUD_REGION_TYPE,
- - CLOUD_REGION_VERSION.
-
- """
- super().execute()
- CloudRegion.create(
- cloud_owner=settings.CLOUD_REGION_CLOUD_OWNER,
- cloud_region_id=settings.CLOUD_REGION_ID,
- orchestration_disabled=False,
- in_maint=False,
- cloud_type=settings.CLOUD_REGION_TYPE,
- cloud_region_version=settings.CLOUD_REGION_VERSION
- )
diff --git a/src/onaptests/steps/cloud/connect_service_subscription_to_cloud_region.py b/src/onaptests/steps/cloud/connect_service_subscription_to_cloud_region.py
index 8b11bc1..cc0f7b7 100644
--- a/src/onaptests/steps/cloud/connect_service_subscription_to_cloud_region.py
+++ b/src/onaptests/steps/cloud/connect_service_subscription_to_cloud_region.py
@@ -5,7 +5,7 @@ from onapsdk.configuration import settings
from ..base import BaseStep
from .customer_service_subscription_create import CustomerServiceSubscriptionCreateStep
from .link_cloud_to_complex import LinkCloudRegionToComplexStep
-from .register_cloud_to_multicloud import RegisterCloudRegionToMulticloudStep
+from .register_cloud import RegisterCloudRegionStep
class ConnectServiceSubToCloudRegionStep(BaseStep):
@@ -16,13 +16,13 @@ class ConnectServiceSubToCloudRegionStep(BaseStep):
Substeps:
- LinkCloudRegionToComplexStep,
- - RegisterCloudRegionToMulticloudStep,
+ - RegisterCloudRegionStep,
- CustomerServiceSubscriptionCreateStep.
"""
super().__init__(cleanup=cleanup)
+ self.add_step(RegisterCloudRegionStep(cleanup=cleanup))
self.add_step(LinkCloudRegionToComplexStep(cleanup=cleanup))
- self.add_step(RegisterCloudRegionToMulticloudStep(cleanup=cleanup))
self.add_step(CustomerServiceSubscriptionCreateStep(cleanup=cleanup))
def execute(self):
@@ -45,27 +45,6 @@ class ConnectServiceSubToCloudRegionStep(BaseStep):
cloud_region_id=settings.CLOUD_REGION_ID,
)
- # Retrieve the tenant
- # if it does not exist, create it
- try:
- tenant: Tenant = cloud_region.get_tenant(settings.TENANT_ID)
- except ValueError:
- self._logger.warning("Impossible to retrieve the Specificed Tenant")
- self._logger.debug("If no multicloud selected, add the tenant")
- cloud_region.add_tenant(
- tenant_id=settings.TENANT_ID,
- tenant_name=settings.TENANT_NAME)
-
- # be sure that an availability zone has been created
- # if not, create it
- try:
- cloud_region.get_availability_zone_by_name(
- settings.AVAILABILITY_ZONE_NAME)
- except ValueError:
- cloud_region.add_availability_zone(
- settings.AVAILABILITY_ZONE_NAME,
- settings.AVAILABILITY_ZONE_TYPE)
-
# retrieve tenant
# for which we are sure that an availability zone has been created
tenant: Tenant = cloud_region.get_tenant(settings.TENANT_ID)
diff --git a/src/onaptests/steps/cloud/link_cloud_to_complex.py b/src/onaptests/steps/cloud/link_cloud_to_complex.py
index 4da3804..a6b0a96 100644
--- a/src/onaptests/steps/cloud/link_cloud_to_complex.py
+++ b/src/onaptests/steps/cloud/link_cloud_to_complex.py
@@ -2,7 +2,6 @@ from onapsdk.aai.cloud_infrastructure import CloudRegion, Complex
from onapsdk.configuration import settings
from ..base import BaseStep
-from .cloud_region_create import CloudRegionCreateStep
from .complex_create import ComplexCreateStep
@@ -18,7 +17,6 @@ class LinkCloudRegionToComplexStep(BaseStep):
"""
super().__init__(cleanup=cleanup)
self.add_step(ComplexCreateStep(cleanup=cleanup))
- self.add_step(CloudRegionCreateStep(cleanup=cleanup))
def execute(self):
"""Link cloud region to complex.
diff --git a/src/onaptests/steps/cloud/register_cloud.py b/src/onaptests/steps/cloud/register_cloud.py
new file mode 100644
index 0000000..c6871b8
--- /dev/null
+++ b/src/onaptests/steps/cloud/register_cloud.py
@@ -0,0 +1,85 @@
+import time
+from uuid import uuid4
+
+from onapsdk.aai.cloud_infrastructure import CloudRegion
+from onapsdk.configuration import settings
+
+from ..base import BaseStep
+
+
+class RegisterCloudRegionStep(BaseStep):
+ """Cloud region registration step."""
+
+ def execute(self):
+ """Register cloud region
+
+ Use settings values:
+ - CLOUD_REGION_CLOUD_OWNER,
+ - CLOUD_REGION_ID,
+ - CLOUD_DOMAIN,
+ - VIM_USERNAME,
+ - VIM_PASSWORD,
+ - VIM_SERVICE_URL,
+ - TENANT_NAME.
+ """
+ super().execute()
+ self._logger.info("*Check if cloud region exists *")
+ try:
+ cloud_region: CloudRegion = CloudRegion.get_by_id(
+ cloud_owner=settings.CLOUD_REGION_CLOUD_OWNER,
+ cloud_region_id=settings.CLOUD_REGION_ID,
+ )
+ except ValueError:
+ self._logger.info("*Create the cloud region *")
+ cloud_region: CloudRegion = CloudRegion.create(
+ cloud_owner=settings.CLOUD_REGION_CLOUD_OWNER,
+ cloud_region_id=settings.CLOUD_REGION_ID,
+ orchestration_disabled=False,
+ in_maint=False,
+ cloud_type=settings.CLOUD_REGION_TYPE,
+ cloud_region_version=settings.CLOUD_REGION_VERSION
+ )
+ cloud_region.add_esr_system_info(
+ esr_system_info_id=str(uuid4()),
+ user_name=settings.VIM_USERNAME,
+ password=settings.VIM_PASSWORD,
+ system_type="VIM",
+ service_url=settings.VIM_SERVICE_URL,
+ ssl_insecure=False,
+ system_status="active",
+ cloud_domain=settings.CLOUD_DOMAIN,
+ default_tenant=settings.TENANT_NAME
+ )
+ if settings.USE_MULTICLOUD:
+ self._logger.info("*Multicloud registration *")
+ cloud_region.register_to_multicloud()
+ time.sleep(20)
+ nb_try = 0
+ nb_try_max = 3
+ while nb_try < nb_try_max:
+ if not cloud_region.tenants:
+ time.sleep(20)
+ else:
+ break
+ nb_try += 1
+
+ # Retrieve the tenant, created by multicloud registration
+ # if it does not exist, create it
+ try:
+ cloud_region.get_tenant(settings.TENANT_ID)
+ except ValueError:
+ self._logger.warning("Impossible to retrieve the Specificed Tenant")
+ self._logger.debug("If no multicloud selected, add the tenant")
+ cloud_region.add_tenant(
+ tenant_id=settings.TENANT_ID,
+ tenant_name=settings.TENANT_NAME)
+
+ # be sure that an availability zone has been created
+ # if not, create it
+ try:
+ cloud_region.get_availability_zone_by_name(
+ settings.AVAILABILITY_ZONE_NAME)
+ except ValueError:
+ cloud_region.add_availability_zone(
+ settings.AVAILABILITY_ZONE_NAME,
+ settings.AVAILABILITY_ZONE_TYPE)
diff --git a/src/onaptests/steps/cloud/register_cloud_to_multicloud.py b/src/onaptests/steps/cloud/register_cloud_to_multicloud.py
deleted file mode 100644
index 4a1b577..0000000
--- a/src/onaptests/steps/cloud/register_cloud_to_multicloud.py
+++ /dev/null
@@ -1,61 +0,0 @@
-import time
-from uuid import uuid4
-
-from onapsdk.aai.cloud_infrastructure import CloudRegion
-from onapsdk.configuration import settings
-
-from ..base import BaseStep
-from .cloud_region_create import CloudRegionCreateStep
-
-
-class RegisterCloudRegionToMulticloudStep(BaseStep):
- """Cloud region registration in multicloud step."""
-
- def __init__(self, cleanup=False):
- """Initialize step.
-
- Substeps:
- - CloudRegionCreateStep.
- """
- super().__init__(cleanup=cleanup)
- self.add_step(CloudRegionCreateStep(cleanup=cleanup))
-
- def execute(self):
- """Register cloud region in multicloud.
-
- Use settings values:
- - CLOUD_REGION_CLOUD_OWNER,
- - CLOUD_REGION_ID,
- - CLOUD_DOMAIN,
- - VIM_USERNAME,
- - VIM_PASSWORD,
- - VIM_SERVICE_URL,
- - TENANT_NAME.
- """
- super().execute()
- cloud_region = CloudRegion.get_by_id(
- cloud_owner=settings.CLOUD_REGION_CLOUD_OWNER,
- cloud_region_id=settings.CLOUD_REGION_ID,
- )
- cloud_region.add_esr_system_info(
- esr_system_info_id=str(uuid4()),
- user_name=settings.VIM_USERNAME,
- password=settings.VIM_PASSWORD,
- system_type="VIM",
- service_url=settings.VIM_SERVICE_URL,
- ssl_insecure=False,
- system_status="active",
- cloud_domain=settings.CLOUD_DOMAIN,
- default_tenant=settings.TENANT_NAME
- )
- cloud_region.register_to_multicloud()
-
- time.sleep(20)
- nb_try = 0
- nb_try_max = 3
- while nb_try < nb_try_max:
- if not cloud_region.tenants:
- time.sleep(20)
- else:
- break
- nb_try += 1