diff options
-rw-r--r-- | robot/assets/templates/so/cds_request.jinja | 34 | ||||
-rw-r--r-- | robot/assets/templates/so/cds_service_template.jinja | 38 | ||||
-rw-r--r-- | robot/resources/cds_interface.robot | 56 | ||||
-rw-r--r-- | robot/resources/demo_preload.robot | 12 | ||||
-rw-r--r-- | robot/resources/global_properties.robot | 2 | ||||
-rw-r--r-- | robot/resources/sdc_interface.robot | 7 | ||||
-rw-r--r-- | robot/resources/sdnc_interface.robot | 8 | ||||
-rw-r--r-- | robot/resources/so/direct_instantiate.robot | 37 | ||||
-rw-r--r-- | robot/resources/test_templates/vnf_orchestration_with_cds_test_template.robot | 6 | ||||
-rwxr-xr-x | robot/testsuites/demo.robot | 7 |
10 files changed, 104 insertions, 103 deletions
diff --git a/robot/assets/templates/so/cds_request.jinja b/robot/assets/templates/so/cds_request.jinja index b39767ff..625df95b 100644 --- a/robot/assets/templates/so/cds_request.jinja +++ b/robot/assets/templates/so/cds_request.jinja @@ -4,26 +4,36 @@ "globalSubscriberId" : "{{subscriber_id}}" }, "requestInfo" : { - "suppressRollback" : true, + "suppressRollback" : false, "productFamilyId" : "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb", - "requestorId" : "ym9479", + "requestorId" : "robot-ete", "instanceName" : "{{service_instance_name}}", "source" : "VID" }, + "cloudConfiguration":{ + "lcpCloudRegionId":"{{GLOBAL_INJECTED_REGION}}", + "tenantId":"{{GLOBAL_INJECTED_OPENSTACK_TENANT_ID}}", + "cloudOwner":"{{cloud_owner}}" + }, "requestParameters" : { "subscriptionServiceType" : "{{subscription_service_type}}", "userParams" : [ { + "Homing_Solution":"{{homing_solution}}" + }, + { "service" : { "instanceParams" : [], "instanceName" : "{{service_instance_name}}", "resources" : { "vnfs" : {{vnfs} }, - "modelInfo" : { - "modelType" : "service", - "modelName" : "{{service_model_name}}", - "modelVersionId" : "{{service_model_UUID}}" + "modelInfo":{ + "modelVersion":"1.0", + "modelVersionId":"{{service_model_uuid}}", + "modelInvariantId":"{{service_model_invariantuuid}}", + "modelName":"{{service_model_name}}", + "modelType":"service" } } } @@ -31,16 +41,16 @@ "aLaCarte" : false }, "project" : { - "projectName" : "some project name" + "projectName" : "Project-Demonstration" }, "owningEntity" : { - "owningEntityName" : "PACKET CORE", - "owningEntityId" : "038d99af-0427-42c2-9d15-971b99b9b489" + "owningEntityId":"{{owning_entity_id}}", + "owningEntityName":"{{owning_entity}}" }, "modelInfo" : { - "modelVersion" : "10.0", - "modelVersionId" : "{{service_model_UUID}}", - "modelInvariantId" : "{{service_model_invariantUUID}}", + "modelVersion":"1.0", + "modelVersionId" : "{{service_model_uuid}}", + "modelInvariantId" : "{{service_model_invariantuuid}}", "modelName" : "{{service_model_name}}", "modelType" : "service" } diff --git a/robot/assets/templates/so/cds_service_template.jinja b/robot/assets/templates/so/cds_service_template.jinja index de2a36f1..9b6e1cc2 100644 --- a/robot/assets/templates/so/cds_service_template.jinja +++ b/robot/assets/templates/so/cds_service_template.jinja @@ -1,32 +1,30 @@ { "requestDetails":{ "subscriberInfo":{ - "globalSubscriberId":"{{customer}}" + "globalSubscriberId":"{{subscriber_id}}" }, "requestInfo":{ "suppressRollback":false, "productFamilyId":"a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb", - "requestorId":"adt", - "instanceName":"{{cds_instance_name}}", + "requestorId":"robot-ete", + "instanceName":"{{service_instance_name}}", "source":"VID" }, "cloudConfiguration":{ "lcpCloudRegionId":"{{GLOBAL_INJECTED_REGION}}", "tenantId":"{{GLOBAL_INJECTED_OPENSTACK_TENANT_ID}}", - "cloudOwner":"{{cloudOwner}}" + "cloudOwner":"{{cloud_owner}}" }, "requestParameters":{ - "subscriptionServiceType":"{{subscriptionServiceType}}", + "subscriptionServiceType":"{{subscription_service_type}}", "userParams":[ { - "Homing_Solution":"none" + "Homing_Solution":"{{homing_solution}}" }, { "service":{ - "instanceParams":[ - - ], - "instanceName":"{{cds_instance_name}}", + "instanceParams" : [], + "instanceName":"{{service_instance_name}}", "resources":{ "vnfs":[ { @@ -134,11 +132,11 @@ ] }, "modelInfo":{ - "modelVersion":"1.0", - "modelVersionId":"{{service_uuid}}", - "modelInvariantId":"{{service_invariantUUID}}", - "modelName":"{{cds_service_model}}", - "modelType":"service" + "modelVersion":"1.0", + "modelVersionId":"{{service_model_uuid}}", + "modelInvariantId":"{{service_model_invariantuuid}}", + "modelName":"{{service_model_name}}", + "modelType":"service" } } } @@ -149,14 +147,14 @@ "projectName":"Project-Demonstration" }, "owningEntity":{ - "owningEntityId":"67f2e84c-734d-4e90-a1e4-d2ffa2e75849", - "owningEntityName":"OE-Demonstration" + "owningEntityId":"{{owning_entity_id}}", + "owningEntityName":"{{owning_entity}}" }, "modelInfo":{ "modelVersion":"1.0", - "modelVersionId":"{{service_uuid}}", - "modelInvariantId":"{{service_invariantUUID}}", - "modelName":"{{cds_service_model}}", + "modelVersionId":"{{service_model_uuid}}", + "modelInvariantId":"{{service_model_invariantuuid}}", + "modelName":"{{service_model_name}}", "modelType":"service" } } diff --git a/robot/resources/cds_interface.robot b/robot/resources/cds_interface.robot index 089e49fd..53dee738 100644 --- a/robot/resources/cds_interface.robot +++ b/robot/resources/cds_interface.robot @@ -1,31 +1,12 @@ *** Settings *** Documentation The main interface for interacting with CDS. It handles low level stuff like managing the http request library and CDS required fields Library RequestsLibrary -Library ONAPLibrary.Utilities -Library OperatingSystem -Library Collections -Library ONAPLibrary.JSON -Library ONAPLibrary.ServiceMapping WITH NAME ServiceMapping -Library ONAPLibrary.PreloadData WITH NAME Preload -Library ONAPLibrary.Templating WITH NAME Templating -Library ONAPLibrary.SDNC WITH NAME SDNC -Library ONAPLibrary.SO WITH NAME SO Resource global_properties.robot *** Variables *** ${CDS_HEALTH_CHECK_PATH} /api/v1/execution-service/health-check ${CDS_HEALTH_ENDPOINT} ${GLOBAL_CCSDK_CDS_SERVER_PROTOCOL}://${GLOBAL_INJECTED_CCSDK_CDS_BLUEPRINT_PROCESSOR_IP_ADDR}:${GLOBAL_CCSDK_CDS_HEALTH_SERVER_PORT} -${SDC_SERVICE_CATALOG_ENDPOINT} ${GLOBAL_SDC_SERVER_PROTOCOL}://${GLOBAL_INJECTED_SDC_BE_IP_ADDR}:${GLOBAL_SDC_BE_PORT} -${SDC_SERVICE_CATALOG_PATH} sdc2/rest/v1/catalog/services/serviceName/demoVLB_CDS/serviceVersion/1.0 -${SO_CATALOGDB_PATH} /ecomp/mso/catalog/v2/serviceVnfs?serviceModelName -${SO_APIHANDLER_PATH} /onap/so/infra/serviceInstantiation/v7/serviceInstances -${SO_REQUESTDB_PATH} /onap/so/infra/orchestrationRequests/v7 - -${customer} Demonstration -${cloudOwner} CloudOwner -${subscriptionServiceType} vLB -${SO_TEMPLATE_PATH} so *** Keywords *** Run CDS Health Check @@ -36,39 +17,4 @@ Run CDS Health Check ${resp}= Get Request cds ${CDS_HEALTH_CHECK_PATH} headers=${headers} Log Received response code from cds ${resp} Log Received content from cds ${resp.content} - Should Be Equal As Strings ${resp.status_code} 200 - -Get Service Catalog - [Arguments] ${cds-service-model} - ${resp}= SDC.Run Get Request ${SDC_SERVICE_CATALOG_ENDPOINT} ${SDC_SERVICE_CATALOG_PATH} cs0008 auth=${GLOBAL_SDC_AUTHENTICATION} - Should Be Equal As Strings ${resp.status_code} 200 - [Return] ${resp.json()['uuid']} ${resp.json()['invariantUUID']} - -Get Service VNFs - [Arguments] ${cds-service-model} - ${auth}= Create List ${GLOBAL_SO_CATDB_USERNAME} ${GLOBAL_SO_PASSWORD} - ${resp}= SO.Run Get Request ${GLOBAL_SO_CATDB_ENDPOINT} ${SO_CATALOGDB_PATH}=${cds-service-model} auth=${auth} - Should Be Equal As Strings ${resp.status_code} 200 - [Return] ${resp.json()} - -Service Assign & Activate - [Arguments] ${cds_service_model} ${service_uuid} ${service_invariantUUID} ${resp.json()} - ${time_now}= Get Time - @{date_time}= Split String ${time_now} - ${time_stamp}= Catenate SEPARATOR=_ @{date_time}[0] @{date_time}[1] - ${customized_time_stamp}= Remove String ${time_stamp} : - ${cds_instance_name}= Set Variable cds_vlb_svc_${customized_time_stamp} - ${global_parameters}= Get Globally Injected Parameters - ${dict}= Set To Dictionary ${global_parameters} cds_instance_name=${cds_instance_name} customer=${customer} cloudOwner=${cloudOwner} subscriptionServiceType=${subscriptionServiceType} cds_service_model=${cds_service_model} service_uuid=${service_uuid} service_invariantUUID=${service_invariantUUID} resp=${resp.json()} - Templating.Create Environment cds ${GLOBAL_TEMPLATE_FOLDER} - ${data}= Templating.Apply Template cds ${SO_TEMPLATE_PATH}/cds_service_template.jinja ${dict} - Log ${data} - ${auth}= Create List ${GLOBAL_SO_USERNAME} ${GLOBAL_SO_PASSWORD} - ${resp}= SO.Run Post Request ${GLOBAL_SO_APIHAND_ENDPOINT} ${SO_APIHANDLER_PATH} ${data} auth=${auth} - Should Be Equal As Strings ${resp.status_code} 202 - [Return] ${resp.json()['requestReferences']['requestId']} - -Check Infra Active Requests - [Arguments] ${cds_requestid} - ${auth}= Create List ${GLOBAL_SO_CATDB_USERNAME } ${GLOBAL_SO_PASSWORD} - SO.Run Polling Get Request ${GLOBAL_SO_APIHAND_ENDPOINT} ${SO_REQUESTDB_PATH}/${cds_requestid} tries=30 interval=60 auth=${auth} + Should Be Equal As Strings ${resp.status_code} 200
\ No newline at end of file diff --git a/robot/resources/demo_preload.robot b/robot/resources/demo_preload.robot index 58ab1faa..be971f72 100644 --- a/robot/resources/demo_preload.robot +++ b/robot/resources/demo_preload.robot @@ -9,6 +9,7 @@ Resource vid/vid_interface.robot Resource consul_interface.robot Resource policy_interface.robot Resource aai/create_availability_zone.robot +Resource so/direct_instantiate.robot Library ONAPLibrary.Utilities Library Collections @@ -17,6 +18,7 @@ Library SeleniumLibrary Library RequestsLibrary Library ONAPLibrary.Templating WITH NAME Templating Library ONAPLibrary.AAI WITH NAME AAI +Library ONAPLibrary.SO WITH NAME SO *** Variables *** @@ -190,6 +192,16 @@ Instantiate VNF Log Update Tca ControlLoopName Update Tca ControlLoopName ${model_invariant_id} +Instantiate VNF CDS + [Arguments] ${service} ${vf_module_label}=NULL + ${status} ${value}= Run Keyword And Ignore Error Distribute Model vLB_CDS demoVLB_CDS True + ${resp}= Get Service Catalog demoVLB_CDS + ${service-uuid}= Set Variable ${resp['uuid']} + ${service-invariantUUID}= Set Variable ${resp['invariantUUID']} + ${requestid}= CDS Service Instantiate demoVLB_CDS ${service-uuid} ${service-invariantUUID} + ${auth}= Create List ${GLOBAL_SO_CATDB_USERNAME } ${GLOBAL_SO_PASSWORD} + SO.Run Polling Get Request ${GLOBAL_SO_APIHAND_ENDPOINT} ${GLOBAL_SO_ORCHESTRATION_REQUESTS_PATH}/${requestid} tries=30 interval=60 auth=${auth} + Instantiate Demo VNF [Arguments] ${service} ${vf_module_label}=NULL ${tenant_id} ${tenant_name}= Setup Orchestrate VNF ${GLOBAL_AAI_CLOUD_OWNER} SharedNode OwnerType v1 CloudZone diff --git a/robot/resources/global_properties.robot b/robot/resources/global_properties.robot index 7f252ea0..fd80e99b 100644 --- a/robot/resources/global_properties.robot +++ b/robot/resources/global_properties.robot @@ -25,6 +25,7 @@ ${GLOBAL_AAI_COMPLEX_NAME} clli1 ${GLOBAL_AAI_PHYSICAL_LOCATION_ID} clli1 ${GLOBAL_AAI_AVAILABILITY_ZONE_NAME} nova ${GLOBAL_BUILD_NUMBER} 0 +${GLOBAL_OWNING_ENTITY_NAME} OE-Demonstration ${GLOBAL_VID_UI_TIMEOUT_SHORT} 20s ${GLOBAL_VID_UI_TIMEOUT_MEDIUM} 60s ${GLOBAL_VID_UI_TIMEOUT_LONG} 120s @@ -39,3 +40,4 @@ ${GLOBAL_SO_HEALTH_CHECK_PATH} /manage/health ${GLOBAL_SO_CLOUD_CONFIG_PATH} /cloudSite ${GLOBAL_SO_CLOUD_CONFIG_TEMPLATE} so/create_cloud_config.jinja ${GLOBAL_SDC_DCAE_BE_ENDPOINT} ${GLOBAL_SDC_SERVER_PROTOCOL}://${GLOBAL_INJECTED_SDC_DCAE_BE_IP_ADDR}:${GLOBAL_SDC_DCAE_BE_PORT} +${GLOBAL_SO_ORCHESTRATION_REQUESTS_PATH} /onap/so/infra/orchestrationRequests/v7
\ No newline at end of file diff --git a/robot/resources/sdc_interface.robot b/robot/resources/sdc_interface.robot index b1dc6e31..eadcd9c2 100644 --- a/robot/resources/sdc_interface.robot +++ b/robot/resources/sdc_interface.robot @@ -726,10 +726,15 @@ Set SDC Catalog Resource VNF Inputs ${resp}= SDC.Run Post Request ${SDC_FE_ENDPOINT} ${SDC_FE_CATALOG_RESOURCES_PATH}/${catalog_resource_id}/update/inputs ${data} ${SDC_DESIGNER_USER_ID} auth=${GLOBAL_SDC_AUTHENTICATION} [Return] ${resp.json()} +Get Service Catalog + [Arguments] ${service_name} + ${resp}= SDC.Run Get Request ${SDC_BE_ENDPOINT} ${SDC_CATALOG_SERVICES_PATH}/serviceName/${service_name}/serviceVersion/1.0 ${SDC_DESIGNER_USER_ID} auth=${GLOBAL_SDC_AUTHENTICATION} + [Return] ${resp.json()} + Get SDC Demo Vnf Catalog Resource [Documentation] Gets Resource ids of demonstration VNFs for instantiation [Arguments] ${service_name} - ${resp}= SDC.Run Get Request ${SDC_BE_ENDPOINT} ${SDC_CATALOG_SERVICES_PATH}/serviceName/${service_name}/serviceVersion/1.0 ${SDC_DESIGNER_USER_ID} auth=${GLOBAL_SDC_AUTHENTICATION} + ${resp}= Get Service Catalog ${service_name} @{ITEMS}= Copy List ${resp.json()['componentInstances']} ${demo_catalog_resource}= Create Dictionary :FOR ${ELEMENT} IN @{ITEMS} diff --git a/robot/resources/sdnc_interface.robot b/robot/resources/sdnc_interface.robot index 9b56fef4..77c65f03 100644 --- a/robot/resources/sdnc_interface.robot +++ b/robot/resources/sdnc_interface.robot @@ -7,7 +7,7 @@ Library OperatingSystem Library Collections Library String Library ONAPLibrary.ServiceMapping WITH NAME ServiceMapping -Library ONAPLibrary.PreloadData WITH NAME Preload +Library ONAPLibrary.PreloadData WITH NAME PreloadData Library ONAPLibrary.Templating WITH NAME Templating Library ONAPLibrary.SDNC WITH NAME SDNC Resource global_properties.robot @@ -157,9 +157,9 @@ Get Template Parameters # Mash together the defaults dict with the test case dict to create the set of # preload parameters # - Preload.Set Directory preload ./demo/preload_data - ${defaults}= Get Default Preload Data preload - ${template}= Get Preload Data preload ${service} ${template} + PreloadData.Set Directory preload ./demo/preload_data + ${defaults}= PreloadData.Get Default Preload Data preload + ${template}= PreloadData.Get Preload Data preload ${service} ${template} # add all of the defaults to template... @{keys}= Get Dictionary Keys ${defaults} :FOR ${key} IN @{keys} diff --git a/robot/resources/so/direct_instantiate.robot b/robot/resources/so/direct_instantiate.robot index 31deab96..17e9a79a 100644 --- a/robot/resources/so/direct_instantiate.robot +++ b/robot/resources/so/direct_instantiate.robot @@ -6,17 +6,27 @@ Library Collections Library String Library DateTime Library SoUtils -Library ONAPLibrary.PreloadData +Library ONAPLibrary.PreloadData WITH NAME PreloadData Library ONAPLibrary.Utilities +Library ONAPLibrary.JSON +Library ONAPLibrary.ServiceMapping WITH NAME ServiceMapping +Library ONAPLibrary.Templating WITH NAME Templating +Library ONAPLibrary.SO WITH NAME SO Resource ../global_properties.robot + +***Variables *** +${SO_TEMPLATE_PATH} so +${SO_CATALOGDB_PATH} /ecomp/mso/catalog/v2/serviceVnfs?serviceModelName +${SO_APIHANDLER_PATH} /onap/so/infra/serviceInstantiation/v7/serviceInstances + *** Keywords *** Instantiate Service Direct To SO [Documentation] Creates an entire service from a CSAR [Arguments] ${service} ${csar_file} ${vnf_template_file} # Example: ${csar_file}= Set Variable /tmp/csar/service-Vfw20190413133734-csar.csar # Example: ${vnf_template_file}= Set Variable /var/opt/ONAP/testsuite/vcpeutils/preload_templates/template.vfw_vfmodule.json - Set Directory preload ./demo/preload_data + PreloadData.Set Directory preload ./demo/preload_data ${preload_dict}= Get Default Preload Data preload ${template}= Create Dictionary @{keys}= Get Dictionary Keys ${preload_dict} @@ -46,4 +56,25 @@ Instantiate Service Direct To SO Log ${template} ${service_instance_id}= Create Entire Service ${csar_file} ${vnf_template_file} ${template} ${GLOBAL_INJECTED_REGION} ${GLOBAL_INJECTED_OPENSTACK_TENANT_ID} ${GLOBAL_INJECTED_PUBLIC_KEY} Log ServiceInstanceId:${service_instance_id} - Should Not Be Equal As Strings ${service_instance_id} None
\ No newline at end of file + Should Not Be Equal As Strings ${service_instance_id} None + + +CDS Service Instantiate + [Arguments] ${cds_service_model} ${service_uuid} ${service_invariantUUID} + ${auth}= Create List ${GLOBAL_SO_CATDB_USERNAME} ${GLOBAL_SO_PASSWORD} + ${resp}= SO.Run Get Request ${GLOBAL_SO_CATDB_ENDPOINT} ${SO_CATALOGDB_PATH}=${cds_service_model} auth=${auth} + Should Be Equal As Strings ${resp.status_code} 200 + ${time_now}= Get Time + @{date_time}= Split String ${time_now} + ${time_stamp}= Catenate SEPARATOR=_ @{date_time}[0] @{date_time}[1] + ${customized_time_stamp}= Remove String ${time_stamp} : + ${cds_instance_name}= Set Variable cds_vlb_svc_${customized_time_stamp} + ${global_parameters}= Get Globally Injected Parameters + ${dict}= Set To Dictionary ${global_parameters} service_instance_name=${cds_instance_name} owning_entity=OE-Demonstration homing_solution=none owning_entity_id=67f2e84c-734d-4e90-a1e4-d2ffa2e75849 subscriber_id=Demonstration cloud_owner=${GLOBAL_AAI_CLOUD_OWNER} subscription_service_type=vLB service_model_name=${cds_service_model} service_model_uuid=${service_uuid} service_model_invariantuuid=${service_invariantUUID} resp=${resp.json()} + Templating.Create Environment cds ${GLOBAL_TEMPLATE_FOLDER} + ${data}= Templating.Apply Template cds ${SO_TEMPLATE_PATH}/cds_service_template.jinja ${dict} + Log ${data} + ${auth}= Create List ${GLOBAL_SO_USERNAME} ${GLOBAL_SO_PASSWORD} + ${resp}= SO.Run Post Request ${GLOBAL_SO_APIHAND_ENDPOINT} ${SO_APIHANDLER_PATH} ${data} auth=${auth} + Should Be Equal As Strings ${resp.status_code} 202 + [Return] ${resp.json()['requestReferences']['requestId']}
\ No newline at end of file diff --git a/robot/resources/test_templates/vnf_orchestration_with_cds_test_template.robot b/robot/resources/test_templates/vnf_orchestration_with_cds_test_template.robot index b8b753ee..21a07fc4 100644 --- a/robot/resources/test_templates/vnf_orchestration_with_cds_test_template.robot +++ b/robot/resources/test_templates/vnf_orchestration_with_cds_test_template.robot @@ -51,14 +51,16 @@ Orchestrate VNF With CDS ${lcp_region}= Get Openstack Region ${dict}= Create Dictionary Set To Dictionary ${dict} service_instance_name=${service_instance_name} - + Set To Dictionary ${dict} owning_entity=${owning_entity} + Set To Dictionary ${dict} owning_entity_id=67f2e84c-734d-4e90-a1e4-d2ffa2e75849 ${templatedata}= Template Yaml To Json ${service_template} ${jsondata}= Evaluate json.loads('''${templatedata}''') json Set To Dictionary ${dict} service_type=${jsondata['metadata']['type']} Set To Dictionary ${dict} service_model_name=${jsondata['metadata']['name']} Set To Dictionary ${dict} service_model_UUID=${jsondata['metadata']['UUID']} Set To Dictionary ${dict} service_model_invariantUUID=${jsondata['metadata']['invariantUUID']} - + Set To Dictionary ${dict} cloud_owner=${GLOBAL_AAI_CLOUD_OWNER} + Set To Dictionary ${dict} homing_solution=none ${envdata}= Env Yaml To Json ${env} ${envjson}= Evaluate json.loads('''${envdata}''') json Set To Dictionary ${dict} subscriber_id=${envjson['subscriber_id']} diff --git a/robot/testsuites/demo.robot b/robot/testsuites/demo.robot index 1e87ce86..b16de5c9 100755 --- a/robot/testsuites/demo.robot +++ b/robot/testsuites/demo.robot @@ -4,7 +4,6 @@ Documentation Executes the VNF Orchestration Test cases including setup and te Library ONAPLibrary.SO WITH NAME SO Library Collections Resource ../resources/demo_preload.robot -Resource ../resources/cds_interface.robot *** Variables *** @@ -71,11 +70,7 @@ Instantiate VFWDT Instantiate VLB_CDS [Tags] instantiateVLB_CDS - ${status} ${value}= Run Keyword And Ignore Error Distribute Model vLB_CDS demoVLB_CDS True - ${service-uuid} ${service-invariantUUID}= Get Service Catalog demoVLB_CDS - ${resp}= Get Service VNFs demoVLB_CDS - ${cds_requestid}= Service Assign & Activate demoVLB_CDS ${service-uuid} ${service-invariantUUID} ${resp} - Check Infra Active Requests ${cds_requestid} + Instantiate VNF CDS vLB_CDS demoVLB_CDS Delete Instantiated VNF [Documentation] This test assumes all necessary variables are loaded via the variable file create in Save For Delete |