aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichal Jagiello <michal.jagiello@t-mobile.pl>2021-05-11 07:56:34 +0000
committerMichal Jagiello <michal.jagiello@t-mobile.pl>2021-05-11 07:59:23 +0000
commited9b039e5f4b54aa6ebbef7aa95fafdce7d5ce75 (patch)
treecc16b94db76f1b6f85a694b7d2d87f2ef18ef2b3
parent227f55ed67caec8e67a037bc3e901caf54617c4c (diff)
[TEST] Do not try to recreate already created SDC resources
When try to recreate SDC resources like VF, PNF or Service it's API returns errors. Check before onboarding if resource we want to create already exists. Issue-ID: TEST-333 Signed-off-by: Michal Jagiello <michal.jagiello@t-mobile.pl> Change-Id: I852bdf12bc6acd5ef8be52c9a883861f53d4a9ac
-rw-r--r--src/onaptests/configuration/basic_vm_macro_settings.py3
-rw-r--r--src/onaptests/steps/onboard/pnf.py34
-rw-r--r--src/onaptests/steps/onboard/service.py34
-rw-r--r--src/onaptests/steps/onboard/vf.py28
4 files changed, 53 insertions, 46 deletions
diff --git a/src/onaptests/configuration/basic_vm_macro_settings.py b/src/onaptests/configuration/basic_vm_macro_settings.py
index bdeeb85..b29cd1d 100644
--- a/src/onaptests/configuration/basic_vm_macro_settings.py
+++ b/src/onaptests/configuration/basic_vm_macro_settings.py
@@ -1,6 +1,7 @@
import os
import openstack
from pathlib import Path
+from uuid import uuid4
from yaml import load
@@ -57,4 +58,4 @@ try:
except (FileNotFoundError, ValueError):
raise onap_test_exceptions.TestConfigurationException
-SERVICE_INSTANCE_NAME = "basic_vm_macro_service_instance"
+SERVICE_INSTANCE_NAME = f"basic_macro_{str(uuid4())}"
diff --git a/src/onaptests/steps/onboard/pnf.py b/src/onaptests/steps/onboard/pnf.py
index 6250d7e..c5958dc 100644
--- a/src/onaptests/steps/onboard/pnf.py
+++ b/src/onaptests/steps/onboard/pnf.py
@@ -50,14 +50,15 @@ class PnfOnboardStep(BaseStep):
super().execute()
vendor: Vendor = Vendor(name=settings.VENDOR_NAME)
pnf: Pnf = Pnf(name=settings.PNF_NAME, vendor=vendor)
- pnf.create()
- pnf.add_deployment_artifact(
- artifact_type=settings.PNF_ARTIFACT_TYPE,
- artifact_name=settings.PNF_ARTIFACT_NAME,
- artifact_label=settings.PNF_ARTIFACT_LABEL,
- artifact=settings.PNF_ARTIFACT_FILE_PATH
- )
- pnf.onboard()
+ if not pnf.created:
+ pnf.create()
+ pnf.add_deployment_artifact(
+ artifact_type=settings.PNF_ARTIFACT_TYPE,
+ artifact_name=settings.PNF_ARTIFACT_NAME,
+ artifact_label=settings.PNF_ARTIFACT_LABEL,
+ artifact=settings.PNF_ARTIFACT_FILE_PATH
+ )
+ pnf.onboard()
class YamlTemplatePnfOnboardStep(YamlTemplateBaseStep):
@@ -110,11 +111,12 @@ class YamlTemplatePnfOnboardStep(YamlTemplateBaseStep):
else:
vsp = None
pnf_obj: Pnf = Pnf(name=pnf["pnf_name"], vendor=vendor, vsp=vsp)
- pnf_obj.create()
- pnf_obj.add_deployment_artifact(
- artifact_type=pnf["pnf_artifact_type"],
- artifact_name=pnf["pnf_artifact_name"],
- artifact_label=pnf["pnf_artifact_label"],
- artifact=pnf["pnf_artifact_file_path"]
- )
- pnf_obj.onboard()
+ if not pnf_obj.created:
+ pnf_obj.create()
+ pnf_obj.add_deployment_artifact(
+ artifact_type=pnf["pnf_artifact_type"],
+ artifact_name=pnf["pnf_artifact_name"],
+ artifact_label=pnf["pnf_artifact_label"],
+ artifact=pnf["pnf_artifact_file_path"]
+ )
+ pnf_obj.onboard()
diff --git a/src/onaptests/steps/onboard/service.py b/src/onaptests/steps/onboard/service.py
index 6300a43..a8f5e31 100644
--- a/src/onaptests/steps/onboard/service.py
+++ b/src/onaptests/steps/onboard/service.py
@@ -55,16 +55,17 @@ class ServiceOnboardStep(BaseStep):
"""
super().execute()
service: Service = Service(name=settings.SERVICE_NAME, instantiation_type=settings.SERVICE_INSTANTIATION_TYPE)
- service.create()
- if settings.VL_NAME != "":
- vl: Vl = Vl(name=settings.VL_NAME)
- service.add_resource(vl)
- if settings.VF_NAME != "":
- vf: Vf = Vf(name=settings.VF_NAME)
- service.add_resource(vf)
- if settings.PNF_NAME != "":
- pnf: Pnf = Pnf(name=settings.PNF_NAME)
- service.add_resource(pnf)
+ if not service.created:
+ service.create()
+ if settings.VL_NAME != "":
+ vl: Vl = Vl(name=settings.VL_NAME)
+ service.add_resource(vl)
+ if settings.VF_NAME != "":
+ vf: Vf = Vf(name=settings.VF_NAME)
+ service.add_resource(vf)
+ if settings.PNF_NAME != "":
+ pnf: Pnf = Pnf(name=settings.PNF_NAME)
+ service.add_resource(pnf)
# If the service is already distributed, do not try to checkin/onboard (replay of tests)
# checkin is done if needed
# If service is replayed, no need to try to re-onboard the model
@@ -141,12 +142,13 @@ class YamlTemplateServiceOnboardStep(YamlTemplateBaseStep):
else:
instantiation_type: ServiceInstantiationType = ServiceInstantiationType.A_LA_CARTE
service: Service = Service(name=self.service_name, instantiation_type=instantiation_type)
- service.create()
- self.declare_resources(service)
- self.assign_properties(service)
- # If the service is already distributed, do not try to checkin/onboard (replay of tests)
- # checkin is done if needed
- # If service is replayed, no need to try to re-onboard the model
+ if not service.created:
+ service.create()
+ self.declare_resources(service)
+ self.assign_properties(service)
+ # If the service is already distributed, do not try to checkin/onboard (replay of tests)
+ # checkin is done if needed
+ # If service is replayed, no need to try to re-onboard the model
if not service.distributed:
try:
service.checkin()
diff --git a/src/onaptests/steps/onboard/vf.py b/src/onaptests/steps/onboard/vf.py
index 5f5fc4d..d26e123 100644
--- a/src/onaptests/steps/onboard/vf.py
+++ b/src/onaptests/steps/onboard/vf.py
@@ -40,7 +40,8 @@ class VfOnboardStep(BaseStep):
super().execute()
vsp: Vsp = Vsp(name=settings.VSP_NAME)
vf: Vf = Vf(name=settings.VF_NAME, vsp=vsp)
- vf.onboard()
+ if not vf.created:
+ vf.onboard()
class YamlTemplateVfOnboardStep(YamlTemplateBaseStep):
@@ -85,15 +86,16 @@ class YamlTemplateVfOnboardStep(YamlTemplateBaseStep):
for vnf in self.yaml_template["vnfs"]:
vsp: Vsp = Vsp(name=f"{vnf['vnf_name']}_VSP")
vf: Vf = Vf(name=vnf['vnf_name'], vsp=vsp)
- if all([x in vnf for x in ["vnf_artifact_type",
- "vnf_artifact_name",
- "vnf_artifact_label",
- "vnf_artifact_file_path"]]):
- vf.create()
- vf.add_deployment_artifact(
- artifact_type=vnf["vnf_artifact_type"],
- artifact_name=vnf["vnf_artifact_name"],
- artifact_label=vnf["vnf_artifact_label"],
- artifact=vnf["vnf_artifact_file_path"]
- )
- vf.onboard()
+ if not vf.created:
+ if all([x in vnf for x in ["vnf_artifact_type",
+ "vnf_artifact_name",
+ "vnf_artifact_label",
+ "vnf_artifact_file_path"]]):
+ vf.create()
+ vf.add_deployment_artifact(
+ artifact_type=vnf["vnf_artifact_type"],
+ artifact_name=vnf["vnf_artifact_name"],
+ artifact_label=vnf["vnf_artifact_label"],
+ artifact=vnf["vnf_artifact_file_path"]
+ )
+ vf.onboard()