Library OpenstackLibrary
-Library ExtendedSelenium2Library
+Library SeleniumLibrary
Library UUID
Library Collections
Library JSONUtils
${vnflist}= Get From Dictionary ${GLOBAL_SERVICE_VNF_MAPPING} ${service}
${generic_vnfs}= Create Dictionary
${vnf_name_index}= Set Variable 0
- :for ${vnf} in @{vnflist}
+ ${vf_module_name_list}= Create List
+ ${uuid}= Evaluate str("${uuid}")[:8]
+ :FOR ${vnf} IN @{vnflist}
+ # APPC max is 50 characters
\ ${vnf_name}= Catenate Ete_${vnf}_${uuid}_${vnf_name_index}
\ ${vf_module_name}= Catenate Vfmodule_Ete_${vnf}_${uuid}_${vnf_name_index}
\ ${vnf_name_index}= Evaluate ${vnf_name_index} + 1
\ ${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}
\ Set To Dictionary ${generic_vnfs} ${vf_module_type} ${generic_vnf}
- \ Run Keyword If '${service}' == 'vLB' VLB Closed Loop Hack ${service} ${generic_vnf} ${closedloop_vf_module}
+ #\ Run Keyword If '${service}' == 'vLB' VLB Closed Loop Hack ${service} ${generic_vnf} ${closedloop_vf_module}
\ Set Test Variable ${STACK_NAME} ${vf_module_name}
# TODO: Need to look at a better way to default ipv4_oam_interface search for Heatbridge
\ 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}
+ \ Append To List ${vf_module_name_list} ${vf_module_name}
+ [Return] ${vf_module_name_list} ${service} ${generic_vnfs}
Orchestrate Demo VNF
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}
+ :FOR ${vnf} IN @{vnflist}
\ ${vnf_name}= Catenate Ete_${vnf}_${uuid}
\ ${vf_module_name}= Catenate Vfmodule_Demo_${vnf}_${uuid}
\ ${vnf_type}= Set Variable ${vnf_json_resources['${vnf}']['vnf_type']}
\ ${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}
\ Set To Dictionary ${generic_vnfs} ${vf_module_type} ${generic_vnf}
- \ Run Keyword If '${service}' == 'vLB' VLB Closed Loop Hack ${service} ${generic_vnf} ${closedloop_vf_module}
+ #\ Run Keyword If '${service}' == 'vLB' VLB Closed Loop Hack ${service} ${generic_vnf} ${closedloop_vf_module}
\ Set Test Variable ${STACK_NAME} ${vf_module_name}
# TODO: Need to look at a better way to default ipv4_oam_interface search for Heatbridge
\ Execute Heatbridge ${vf_module_name} ${service_instance_id} ${vnf} ipv4_oam_interface
${base_name}= Get Name Pattern ${vnf}
${keys}= Get Dictionary Keys ${resources}
- :for ${key} in @{keys}
+ :FOR ${key} IN @{keys}
\ ${cr}= Get From Dictionary ${resources} ${key}
\ Return From Keyword If '${base_name}' in '${cr['allArtifacts']['heat1']['artifactDisplayName']}' ${cr}
\ Run Keyword If 'heat2' in ${cr['allArtifacts']} Return From Keyword If '${base_name}' in '${cr['allArtifacts']['heat2']['artifactDisplayName']}' ${cr}
[Documentation] To support services with multiple VNFs, we need to dig the vnf type out of the SDC catalog resources to select in the VID UI
[Arguments] ${vnf}
${list}= Get From Dictionary ${GLOBAL_SERVICE_TEMPLATE_MAPPING} ${vnf}
- :for ${dict} in @{list}
+ :FOR ${dict} IN @{list}
\ ${base_name}= Get From Dictionary ${dict} name_pattern
\ Return From Keyword If '${dict['isBase']}' == 'true' ${base_name}
Fail Unable to locate base name pattern
[Documentation] Called at the end of a test case to tear down the VNF created by Orchestrate VNF
${lcp_region}= Get Openstack Region
${list}= Create List
- Set Test Variable ${KEYPAIRS} ${list}
# remove duplicates, sort vFW-> vPKG , revers to get vPKG > vFWSNK
${sorted_stack_names}= Create List
${sorted_stack_names}= Remove Duplicates ${STACK_NAMES}
Sort List ${sorted_stack_names}
Reverse List ${sorted_stack_names}
- :for ${stack} in @{sorted_stack_names}
- \ Get Stack Keypairs ${stack}
+ :FOR ${stack} IN @{sorted_stack_names}
+ \ ${keypair_name}= Get Stack Keypairs ${stack}
+ \ Append To List ${list} ${keypair_name}
Teardown VVG Server
- Teardown VLB Closed Loop Hack
+ #Teardown VLB Closed Loop Hack
Run Keyword and Ignore Error Teardown VID ${SERVICE_INSTANCE_ID} ${lcp_region} ${TENANT_NAME} ${CUSTOMER_NAME}
#
- :for ${stack} in @{sorted_stack_names}
+ :FOR ${stack} IN @{sorted_stack_names}
\ Run Keyword and Ignore Error Teardown Stack ${stack}
\ Log Stack Deleted ${stack}
# only needed if stack deleted but not keypair
- :for ${key_pair} in @{KEYPAIRS}
+ :FOR ${key_pair} IN @{list}
\ Run Keyword and Ignore Error Delete Stack Keypair ${key_pair}
\ Log Key pair Deleted ${key_pair}
Log VNF Deleted
Log ${stack_info}
${stack_id}= Get From Dictionary ${stack_info} id
${key_pair_status} ${keypair_name}= Run Keyword And Ignore Error Get From Dictionary ${stack_info} key_name
- Append To List ${KEYPAIRS} ${keypair_name}
+ [Return] ${keypair_name}
Delete Stack Keypair
[Documentation] Delete keypairs from openstack