diff options
author | Morgan Richomme <morgan.richomme@orange.com> | 2020-10-13 09:16:20 +0000 |
---|---|---|
committer | Morgan Richomme <morgan.richomme@orange.com> | 2020-10-13 09:16:20 +0000 |
commit | ded9ae3b507b9687a68cc00dfc75e13130be13ff (patch) | |
tree | c4fd34da2631a3a775612946841bd7149b664f8c /src/onaptests/steps | |
parent | 0123c525b0182a5d6f9cd1bee3830eb1956239c7 (diff) |
Revert "Create basic_cnf test leveraging onapsdk"
This reverts commit 0123c525b0182a5d6f9cd1bee3830eb1956239c7.
Reason for revert: <it is breaking basic_vm because ModuleNotFoundError: No module named 'onapsdk.msb.k8s' >
Issue-ID: TEST-243
Change-Id: Iaf398a11b296b2c2bf55d9a25a588cd32e44077a
Signed-off-by: Morgan Richomme <morgan.richomme@orange.com>
Diffstat (limited to 'src/onaptests/steps')
7 files changed, 8 insertions, 220 deletions
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 d48ff7c..636f8cd 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 @@ -6,7 +6,6 @@ from ..base import BaseStep from .customer_service_subscription_create import CustomerServiceSubscriptionCreateStep from .link_cloud_to_complex import LinkCloudRegionToComplexStep from .register_cloud import RegisterCloudRegionStep -from .k8s_connectivity_info_create import K8SConnectivityInfoStep class ConnectServiceSubToCloudRegionStep(BaseStep): @@ -22,8 +21,6 @@ class ConnectServiceSubToCloudRegionStep(BaseStep): """ super().__init__(cleanup=cleanup) - if settings.CLOUD_REGION_TYPE == "k8s": - self.add_step(K8SConnectivityInfoStep(cleanup=cleanup)) self.add_step(RegisterCloudRegionStep(cleanup=cleanup)) self.add_step(LinkCloudRegionToComplexStep(cleanup=cleanup)) self.add_step(CustomerServiceSubscriptionCreateStep(cleanup=cleanup)) diff --git a/src/onaptests/steps/cloud/k8s_connectivity_info_create.py b/src/onaptests/steps/cloud/k8s_connectivity_info_create.py deleted file mode 100644 index ef95876..0000000 --- a/src/onaptests/steps/cloud/k8s_connectivity_info_create.py +++ /dev/null @@ -1,33 +0,0 @@ -from onapsdk.configuration import settings -from onapsdk.msb.k8s import ConnectivityInfo - -from ..base import BaseStep - -class K8SConnectivityInfoStep(BaseStep): - """CreateConnnectivityInfoStep.""" - - @BaseStep.store_state - def execute(self): - """Creation k8s connectivity information - - Use settings values: - - CLOUD_REGION_ID, - - CLOUD_REGION_CLOUD_OWNER, - - K8S_KUBECONFIG_FILE. - """ - super().execute() - ######## Create Connectivity Info ######################################### - try: - ConnectivityInfo.get_connectivity_info_by_region_id(settings.CLOUD_REGION_ID) - except ValueError: - ConnectivityInfo.create(settings.CLOUD_REGION_ID, - settings.CLOUD_REGION_CLOUD_OWNER, - open(settings.K8S_KUBECONFIG_FILE, 'rb').read()) - - def cleanup(self) -> None: - """Cleanup K8S Connectivity information. - """ - self._logger.info("*Clean the k8s connectivity information *") - super().cleanup() - connectinfo = ConnectivityInfo.get_connectivity_info_by_region_id(settings.CLOUD_REGION_ID) - connectinfo.delete() diff --git a/src/onaptests/steps/cloud/register_cloud.py b/src/onaptests/steps/cloud/register_cloud.py index 0ab0dfb..6836b12 100644 --- a/src/onaptests/steps/cloud/register_cloud.py +++ b/src/onaptests/steps/cloud/register_cloud.py @@ -18,9 +18,6 @@ class RegisterCloudRegionStep(BaseStep): - CLOUD_REGION_CLOUD_OWNER, - CLOUD_REGION_ID, - CLOUD_DOMAIN, - - CLOUD_REGION_VERSION, - - CLOUD_OWNER_DEFINED_TYPE, - - COMPLEX_PHYSICAL_LOCATION_ID, - VIM_USERNAME, - VIM_PASSWORD, - VIM_SERVICE_URL, @@ -41,10 +38,7 @@ class RegisterCloudRegionStep(BaseStep): orchestration_disabled=False, in_maint=False, cloud_type=settings.CLOUD_REGION_TYPE, - cloud_region_version=settings.CLOUD_REGION_VERSION, - owner_defined_type=settings.CLOUD_OWNER_DEFINED_TYPE, - complex_name=settings.COMPLEX_PHYSICAL_LOCATION_ID - # cloud_extra_info=settings.CLOUD_EXTRA_INFO + cloud_region_version=settings.CLOUD_REGION_VERSION ) cloud_region.add_esr_system_info( esr_system_info_id=str(uuid4()), diff --git a/src/onaptests/steps/instantiate/k8s_profile_create.py b/src/onaptests/steps/instantiate/k8s_profile_create.py deleted file mode 100644 index 375aa2c..0000000 --- a/src/onaptests/steps/instantiate/k8s_profile_create.py +++ /dev/null @@ -1,165 +0,0 @@ -from typing import Iterable -from uuid import uuid4 -from yaml import load - -from onapsdk.aai.business import Customer, ServiceInstance, ServiceSubscription -from onapsdk.configuration import settings -from onapsdk.msb.k8s import Definition -from onapsdk.so.instantiation import VnfParameter - -from ..base import BaseStep -from .vnf_ala_carte import YamlTemplateVnfAlaCarteInstantiateStep - -class K8SProfileStep(BaseStep): - """CreateK8sProfileStep.""" - - def __init__(self, cleanup=False): - """Initialize step. - """ - super().__init__(cleanup=cleanup) - - self._yaml_template: dict = None - self._service_instance_name: str = None - self._service_instance: ServiceInstance = None - self.add_step(YamlTemplateVnfAlaCarteInstantiateStep(cleanup)) - - @property - def yaml_template(self) -> dict: - """Step YAML template. - - Load from file if it's a root step, get from parent otherwise. - - Returns: - dict: Step YAML template - - """ - if self.is_root: - if not self._yaml_template: - with open(settings.SERVICE_YAML_TEMPLATE, "r") as yaml_template: - self._yaml_template: dict = load(yaml_template) - return self._yaml_template - return self.parent.yaml_template - - @property - def service_name(self) -> str: - """Service name. - - Get from YAML template if it's a root step, get from parent otherwise. - - Returns: - str: Service name - - """ - if self.is_root: - return next(iter(self.yaml_template.keys())) - return self.parent.service_name - - @property - def service_instance_name(self) -> str: - """Service instance name. - - Generate using `service_name` and `uuid4()` function if it's a root step, - get from parent otherwise. - - Returns: - str: Service instance name - - """ - if self.is_root: - if not self._service_instance_name: - self._service_instance_name: str = f"{self.service_name}-{str(uuid4())}" - return self._service_instance_name - return self.parent.service_instance_name - - def get_vnf_parameters(self, vnf_name: str) -> Iterable[VnfParameter]: - """Get VNF parameters from YAML template. - - Args: - vnf_name (str): VNF name to get parameters for. - - Yields: - Iterator[Iterable[VnfParameter]]: VNF parameter - - """ - - # workaround, as VNF name differs from model name (added " 0") - vnf_name = vnf_name.split()[0] - for vnf in self.yaml_template[self.service_name]["vnfs"]: - if vnf["vnf_name"] == vnf_name: - for vnf_parameter in vnf["vnf_parameters"]: - yield VnfParameter( - name=vnf_parameter["name"], - value=vnf_parameter["value"] - ) - - @BaseStep.store_state - def execute(self): - """Creation of k8s profile for resource bundle definition - - Use settings values: - - GLOBAL_CUSTOMER_ID - - K8S_PROFILE_K8S_VERSION - - K8S_PROFILE_ARTIFACT_PATH. - """ - super().execute() - customer: Customer = Customer.get_by_global_customer_id(settings.GLOBAL_CUSTOMER_ID) - service_subscription: ServiceSubscription = customer.get_service_subscription_by_service_type(self.service_name) - self._service_instance: ServiceInstance = service_subscription.get_service_instance_by_name(self.service_instance_name) - - for vnf_instance in self._service_instance.vnf_instances: - # possible to have several modules for 1 VNF - for vf_module in vnf_instance.vnf.vf_modules: - # Define profile (rb_profile) for resource bundle definition - # Retrieve resource bundle definition (rbdef) corresponding to vf module - rbdef_name = vf_module.metadata["vfModuleModelInvariantUUID"] - rbdef_version = vf_module.metadata["vfModuleModelUUID"] - rbdef = Definition.get_definition_by_name_version(rbdef_name, rbdef_version) - # Get k8s profile name from yaml service template - vnf_parameters = self.get_vnf_parameters(vnf_instance.vnf.name) - k8s_profile_name = "" - k8s_profile_namespace = "" - for param in vnf_parameters: - if param.name == "k8s-rb-profile-name": - k8s_profile_name = param.value - if param.name == "k8s-rb-profile-namespace": - k8s_profile_namespace = param.value - if k8s_profile_name == "" or k8s_profile_namespace == "": - raise Exception("Vf module instantiation failed, missing rb profile information") - ######## Check profile for Definition ################################### - try: - rbdef.get_profile_by_name(k8s_profile_name) - except ValueError: - ######## Create profile for Definition ################################### - profile = rbdef.create_profile(k8s_profile_name, - k8s_profile_namespace, - settings.K8S_PROFILE_K8S_VERSION) - ####### Upload artifact for created profile ############################## - profile.upload_artifact(open(settings.K8S_PROFILE_ARTIFACT_PATH, 'rb').read()) - - def cleanup(self) -> None: - """Cleanup K8S profiles. - """ - self._logger.info("*Clean the k8s profile *") - for vnf_instance in self._service_instance.vnf_instances: - # possible to have several modules for 1 VNF - for vf_module in vnf_instance.vnf.vf_modules: - # Retrieve resource bundle definition (rbdef) corresponding to vf module - rbdef_name = vf_module.metadata["vfModuleModelInvariantUUID"] - rbdef_version = vf_module.metadata["vfModuleModelUUID"] - rbdef = Definition.get_definition_by_name_version(rbdef_name, rbdef_version) - # Get k8s profile name from yaml service template - vnf_parameters = self.get_vnf_parameters(vnf_instance.vnf.name) - k8s_profile_name = "" - for param in vnf_parameters: - if param.name == "k8s-rb-profile-name": - k8s_profile_name = param.value - if k8s_profile_name == "": - raise Exception("K8s profile deletion failed, missing rb profile name") - ######## Delete profile for Definition ################################### - try: - profile = rbdef.get_profile_by_name(k8s_profile_name) - profile.delete() - except ValueError: - self._logger.error("K8s profile deletion %s failed", k8s_profile_name) - raise Exception("K8s profile deletion failed") - super().cleanup() diff --git a/src/onaptests/steps/instantiate/service_ala_carte.py b/src/onaptests/steps/instantiate/service_ala_carte.py index 80473b7..b3b56c4 100644 --- a/src/onaptests/steps/instantiate/service_ala_carte.py +++ b/src/onaptests/steps/instantiate/service_ala_carte.py @@ -219,6 +219,7 @@ class YamlTemplateServiceAlaCarteInstantiateStep(YamlTemplateBaseStep): Exception: Service cleaning failed """ + super().cleanup() service_deletion = self._service_instance.delete() nb_try = 0 nb_try_max = 30 @@ -231,4 +232,3 @@ class YamlTemplateServiceAlaCarteInstantiateStep(YamlTemplateBaseStep): else: self._logger.error("Service deletion %s failed", self._service_instance_name) raise Exception("Service cleanup failed") - super().cleanup() diff --git a/src/onaptests/steps/instantiate/vf_module_ala_carte.py b/src/onaptests/steps/instantiate/vf_module_ala_carte.py index c1b2e23..14ef2d8 100644 --- a/src/onaptests/steps/instantiate/vf_module_ala_carte.py +++ b/src/onaptests/steps/instantiate/vf_module_ala_carte.py @@ -10,7 +10,6 @@ from onapsdk.so.instantiation import VnfParameter from ..base import YamlTemplateBaseStep from .vnf_ala_carte import YamlTemplateVnfAlaCarteInstantiateStep -from .k8s_profile_create import K8SProfileStep class YamlTemplateVfModuleAlaCarteInstantiateStep(YamlTemplateBaseStep): """Instantiate vf module a'la carte using YAML template.""" @@ -26,12 +25,7 @@ class YamlTemplateVfModuleAlaCarteInstantiateStep(YamlTemplateBaseStep): self._yaml_template: dict = None self._service_instance_name: str = None self._service_instance: ServiceInstance = None - if settings.CLOUD_REGION_TYPE == "k8s": - self.add_step(K8SProfileStep(cleanup)) - else: - self.add_step(YamlTemplateVnfAlaCarteInstantiateStep(cleanup)) - - + self.add_step(YamlTemplateVnfAlaCarteInstantiateStep(cleanup)) @property def yaml_template(self) -> dict: @@ -93,7 +87,7 @@ class YamlTemplateVfModuleAlaCarteInstantiateStep(YamlTemplateBaseStep): """ # workaround, as VNF name differs from model name (added " 0") - vnf_name = vnf_name.split()[0] + vnf_name=vnf_name.split()[0] for vnf in self.yaml_template[self.service_name]["vnfs"]: if vnf["vnf_name"] == vnf_name: for vnf_parameter in vnf["vnf_parameters"]: @@ -131,7 +125,7 @@ class YamlTemplateVfModuleAlaCarteInstantiateStep(YamlTemplateBaseStep): cloud_region, tenant, self._service_instance_name, - vnf_parameters=self.get_vnf_parameters(vnf_instance.vnf.name)) + vnf_parameters= self.get_vnf_parameters(vnf_instance.vnf.name)) while not vf_module_instantiation.finished: time.sleep(10) if vf_module_instantiation.failed: @@ -145,6 +139,7 @@ class YamlTemplateVfModuleAlaCarteInstantiateStep(YamlTemplateBaseStep): Exception: Vf module cleaning failed """ + super().cleanup() for vnf_instance in self._service_instance.vnf_instances: self._logger.debug("VNF instance %s found in Service Instance ", vnf_instance.name) @@ -165,4 +160,3 @@ class YamlTemplateVfModuleAlaCarteInstantiateStep(YamlTemplateBaseStep): else: self._logger.error("VfModule deletion %s failed", vf_module.name) raise Exception("Vf module cleanup failed") - super().cleanup() diff --git a/src/onaptests/steps/instantiate/vnf_ala_carte.py b/src/onaptests/steps/instantiate/vnf_ala_carte.py index 9fa7576..0ab498d 100644 --- a/src/onaptests/steps/instantiate/vnf_ala_carte.py +++ b/src/onaptests/steps/instantiate/vnf_ala_carte.py @@ -119,6 +119,8 @@ class YamlTemplateVnfAlaCarteInstantiateStep(YamlTemplateBaseStep): Exception: VNF cleaning failed """ + super().cleanup() + for vnf_instance in self._service_instance.vnf_instances: vnf_deletion = vnf_instance.delete() nb_try = 0 @@ -133,4 +135,3 @@ class YamlTemplateVnfAlaCarteInstantiateStep(YamlTemplateBaseStep): else: self._logger.error("VNF deletion %s failed", vnf_instance.name) raise Exception("VNF Cleanup failed") - super().cleanup() |