From 2b8a20c2653864dd4fe90d16caa67e33201ccbe0 Mon Sep 17 00:00:00 2001 From: Gary Wu Date: Fri, 9 Nov 2018 12:13:51 -0800 Subject: Get model-invariant-id from AAI for vFWCL Change-Id: I6364bb71d9ec88e0e0bcb962b9d7531df09652c6 Issue-ID: INT-715 Signed-off-by: Gary Wu --- robot/resources/demo_preload.robot | 20 +++++++++++++++----- .../vnf_orchestration_test_template.robot | 22 ++++++++++++---------- 2 files changed, 27 insertions(+), 15 deletions(-) diff --git a/robot/resources/demo_preload.robot b/robot/resources/demo_preload.robot index 5b03a0b5..41936a04 100644 --- a/robot/resources/demo_preload.robot +++ b/robot/resources/demo_preload.robot @@ -47,7 +47,7 @@ Load OwningEntity ${uuid}= Generate UUID ${headers}= Create Dictionary Accept=application/json Content-Type=application/json USER_ID=${GLOBAL_VID_USERNAME} X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid} X-FromAppId=${GLOBAL_APPLICATION_ID} ${resp}= Post Request vid ${data_path} data=${vid_data} headers=${headers} - + Load Customer [Documentation] Use openECOMP to Orchestrate a service. [Arguments] ${customer_name} @@ -156,11 +156,16 @@ APPC Mount Point Instantiate VNF [Arguments] ${service} ${vf_module_label}=NULL Setup Orchestrate VNF ${GLOBAL_AAI_CLOUD_OWNER} SharedNode OwnerType v1 CloudZone - ${vf_module_name} ${service}= Orchestrate VNF DemoCust ${service} ${service} ${TENANT_NAME} + ${vf_module_name} ${service} ${generic_vnfs}= Orchestrate VNF DemoCust ${service} ${service} ${TENANT_NAME} Save For Delete Log to Console Customer Name=${CUSTOMER_NAME} Log to Console VNF Module Name=${vf_module_name} - ${model_invariant_id}= Run MSO Get ModelInvariantId ${SUITE_SERVICE_MODEL_NAME} ${vf_module_label} + # Don't get from MSO for now due to SO-1186 + # ${model_invariant_id}= Run MSO Get ModelInvariantId ${SUITE_SERVICE_MODEL_NAME} ${vf_module_label} + ${model_invariant_id}= Set Variable ${EMPTY} + :for ${vf_module} in @{generic_vnfs} + \ ${generic_vnf}= Get From Dictionary ${generic_vnfs} ${vf_module} + \ ${model_invariant_id}= Set Variable If '${vf_module_label}' in '${vf_module}' ${generic_vnf['model-invariant-id']} ${model_invariant_id} Log to Console ModelInvariantID=${model_invariant_id} ${status} ${value}= Run Keyword And Ignore Error Update vVFWCL Policy ${model_invariant_id} ${status} ${value}= Run Keyword And Ignore Error APPC Mount Point ${vf_module_name} @@ -168,11 +173,16 @@ Instantiate VNF Instantiate Demo VNF [Arguments] ${service} ${vf_module_label}=NULL Setup Orchestrate VNF ${GLOBAL_AAI_CLOUD_OWNER} SharedNode OwnerType v1 CloudZone - ${vf_module_name} ${service}= Orchestrate Demo VNF Demonstration ${service} ${service} ${TENANT_NAME} + ${vf_module_name} ${service} ${generic_vnfs}= Orchestrate Demo VNF Demonstration ${service} ${service} ${TENANT_NAME} #Save For Delete Log to Console Customer Name=${CUSTOMER_NAME} Log to Console VNF Module Name=${vf_module_name} - ${model_invariant_id}= Run MSO Get ModelInvariantId ${SUITE_SERVICE_MODEL_NAME} ${vf_module_label} + # Don't get from MSO for now due to SO-1186 + # ${model_invariant_id}= Run MSO Get ModelInvariantId ${SUITE_SERVICE_MODEL_NAME} ${vf_module_label} + ${model_invariant_id}= Set Variable ${EMPTY} + :for ${vf_module} in @{generic_vnfs} + \ ${generic_vnf}= Get From Dictionary ${generic_vnfs} ${vf_module} + \ ${model_invariant_id}= Set Variable If '${vf_module_label}' in '${vf_module}' ${generic_vnf['model-invariant-id']} ${model_invariant_id} Log to Console ModelInvariantID=${model_invariant_id} ${status} ${value}= Run Keyword And Ignore Error Update vVFWCL Policy ${model_invariant_id} ${status} ${value}= Run Keyword And Ignore Error APPC Mount Point ${vf_module_name} diff --git a/robot/resources/test_templates/vnf_orchestration_test_template.robot b/robot/resources/test_templates/vnf_orchestration_test_template.robot index 26d8eefe..e3c3b7f9 100644 --- a/robot/resources/test_templates/vnf_orchestration_test_template.robot +++ b/robot/resources/test_templates/vnf_orchestration_test_template.robot @@ -67,6 +67,7 @@ Orchestrate VNF Set Test Variable ${SERVICE_INSTANCE_ID} ${service_instance_id} Validate Service Instance ${service_instance_id} ${service} ${customer_name} ${vnflist}= Get From Dictionary ${GLOBAL_SERVICE_VNF_MAPPING} ${service} + ${generic_vnfs}= Create Dictionary :for ${vnf} in @{vnflist} \ ${vnf_name}= Catenate Ete_${vnf}_${uuid} \ ${vf_module_name}= Catenate Vfmodule_Ete_${vnf}_${uuid} @@ -77,13 +78,13 @@ Orchestrate VNF \ ${vf_module_type} ${closedloop_vf_module}= Preload Vnf ${service_instance_id} ${vnf_name} ${vnf_type} ${vf_module_name} ${vf_module} ${vnf} ${uuid} \ ${vf_module_id}= Create VID VNF module ${service_instance_id} ${vf_module_name} ${lcp_region} ${tenant} ${vf_module_type} ${CUSTOMER_NAME} ${vnf_name} \ ${generic_vnf}= Validate Generic VNF ${vnf_name} ${vnf_type} ${service_instance_id} - \ VLB Closed Loop Hack ${service} ${generic_vnf} ${closedloop_vf_module} + \ Set To Dictionary ${generic_vnfs} ${vf_module} ${generic_vnf} + \ Run Keyword If '${service}' == 'vLB' VLB Closed Loop Hack ${service} ${generic_vnf} ${closedloop_vf_module} \ Set Test Variable ${STACK_NAME} ${vf_module_name} - \ Append To List ${STACK_NAMES} ${STACK_NAME} # TODO: Need to look at a better way to default ipv4_oam_interface search for Heatbridge - \ Run Keyword and Ignore Error Execute Heatbridge ${vf_module_name} ${service_instance_id} ${vnf} ipv4_oam_interface - \ Run Keyword and Ignore Error Validate VF Module ${vf_module_name} ${vnf} - [Return] ${vf_module_name} ${service} + \ Execute Heatbridge ${vf_module_name} ${service_instance_id} ${vnf} ipv4_oam_interface + \ Validate VF Module ${vf_module_name} ${vnf} + [Return] ${vf_module_name} ${service} ${generic_vnfs} Orchestrate Demo VNF @@ -110,6 +111,7 @@ Orchestrate Demo VNF Set Test Variable ${SERVICE_INSTANCE_ID} ${service_instance_id} Validate Service Instance ${service_instance_id} ${service} ${customer_name} ${vnflist}= Get From Dictionary ${GLOBAL_SERVICE_VNF_MAPPING} ${service} + ${generic_vnfs}= Create Dictionary :for ${vnf} in @{vnflist} \ ${vnf_name}= Catenate Ete_${vnf}_${uuid} \ ${vf_module_name}= Catenate Vfmodule_Demo_${vnf}_${uuid} @@ -122,13 +124,13 @@ Orchestrate Demo VNF \ ${vf_module_type} ${closedloop_vf_module}= Preload Vnf ${service_instance_id} ${vnf_name} ${vnf_type} ${vf_module_name} ${vf_modules} ${vnf} ${uuid} \ ${vf_module_id}= Create VID VNF module ${service_instance_id} ${vf_module_name} ${lcp_region} ${tenant} ${vf_module_type} ${CUSTOMER_NAME} ${vnf_name} \ ${generic_vnf}= Validate Generic VNF ${vnf_name} ${vnf_type} ${service_instance_id} - \ VLB Closed Loop Hack ${service} ${generic_vnf} ${closedloop_vf_module} + \ Set To Dictionary ${generic_vnfs} ${vf_module} ${generic_vnf} + \ Run Keyword If '${service}' == 'vLB' VLB Closed Loop Hack ${service} ${generic_vnf} ${closedloop_vf_module} \ Set Test Variable ${STACK_NAME} ${vf_module_name} - \ Append To List ${STACK_NAMES} ${STACK_NAME} # TODO: Need to look at a better way to default ipv4_oam_interface search for Heatbridge - \ Run Keyword and Ignore Error Execute Heatbridge ${vf_module_name} ${service_instance_id} ${vnf} ipv4_oam_interface - \ Run Keyword and Ignore Error Validate VF Module ${vf_module_name} ${vnf} - [Return] ${vf_module_name} ${service} + \ Execute Heatbridge ${vf_module_name} ${service_instance_id} ${vnf} ipv4_oam_interface + \ Validate VF Module ${vf_module_name} ${vnf} + [Return] ${vf_module_name} ${service} ${generic_vnfs} Get VNF Type -- cgit 1.2.3-korg