*** Settings ***
Documentation The main interface for interacting with AAF. It handles low level stuff like managing the http request library and AAF required fields
Library RequestsLibrary
-Library ONAPLibrary.Utilities
+Library ONAPLibrary.Utilities
Resource global_properties.robot
*** Keywords ***
Run AAF Health Check
[Documentation] Runs AAF Health check
- ${resp}= Run AAF Get Request ${AAF_HEALTH_CHECK_PATH}
+ ${resp}= Run AAF Get Request ${AAF_HEALTH_CHECK_PATH}
Should Be Equal As Strings ${resp.status_code} 200
#Should Contain ${resp.json()} access
-
+
Run AAF Get Request
[Documentation] Runs AAF Get request
[Arguments] ${data_path}
\ ${status} ${tenant_id}= Run Keyword And Ignore Error Get From Dictionary ${map} tenant-id
\ Run Keyword If '${status}' == 'PASS' Set To Dictionary ${dict} ${tenant_id}=${map}
Log ${dict}
-
-
-
*** Keywords ***
Validate Size Of AAI Models
- [Documentation] Query and Validates A&AI Models
+ [Documentation] Query and Validates A&AI Models
[Arguments] ${min_size}=100
${resp}= AAI.Run Get Request ${AAI_FRONTEND_ENDPOINT} ${INDEX_PATH}${MODELS_SPEC_PATH} auth=${GLOBAL_AAI_AUTHENTICATION}
Should Be Equal As Strings ${resp.status_code} 200
Resource global_properties.robot
*** Variables ***
-${CDS_HEALTH_CHECK_PATH} /api/v1/execution-service/health-check
+${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}
${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
\ No newline at end of file
+ Should Be Equal As Strings ${resp.status_code} 200
[Arguments] ${message_router} ${message_router_port} ${topic}
${session}= Create Session session http://${message_router}:${message_router_port}/topics
${resp}= Get Request session /
- ${value}= Catenate ${resp.json()['topics']}
+ ${value}= Catenate ${resp.json()['topics']}
Should Contain ${value} ${topic}
Send Message
${uuid}= Generate UUID4
${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 ONAP to Orchestrate a service.
[Arguments] ${customer_name}
${tenant_id} ${tenant_name}= Setup Orchestrate VNF ${GLOBAL_AAI_CLOUD_OWNER} SharedNode OwnerType v1 CloudZone
${region}= Get Openstack Region
Create Customer For VNF Demo ${customer_name} ${customer_name} INFRA ${GLOBAL_AAI_CLOUD_OWNER} ${region} ${tenant_id}
- Create Customer For VNF Demo ${customer_name} ${customer_name} INFRA ${GLOBAL_AAI_CLOUD_OWNER} RegionTlab 50b190410b2a4c229d8a6044a80ab7c1
+ Create Customer For VNF Demo ${customer_name} ${customer_name} INFRA ${GLOBAL_AAI_CLOUD_OWNER} RegionTlab 50b190410b2a4c229d8a6044a80ab7c1
Create Availability Zone If Not Exists ${GLOBAL_AAI_CLOUD_OWNER} ${region} ${GLOBAL_AAI_AVAILABILITY_ZONE_NAME}
Load Models
Log Distibuting vCPEvBNG
Distribute Model vCPEvBNG ${DEMO_PREFIX}VCPEvBNG
Log Distibuting vCPEvBRGEMU
- Distribute Model vCPEvBRGEMU ${DEMO_PREFIX}VCPEvBRGEMU
+ Distribute Model vCPEvBRGEMU ${DEMO_PREFIX}VCPEvBRGEMU
Log Distibuting vCPEvGMUX
Distribute Model vCPEvGMUX ${DEMO_PREFIX}VCPEvGMUX
Log Distibuting vCPEvGW (this is not vCPEResCust service)
${vf_modules}= Get Module Names from VID ${invariantUUID}
Log ${generic_vnf}
Log ${service_instance_id},${vnf_name},${vnf_type},${vf_module_name},${vf_modules},${service}
- Preload Gra ${service_instance_id} ${vnf_name} ${vnf_type} ${vf_module_name} ${vf_modules} ${vnf} demo ${service}
+ Preload Gra ${service_instance_id} ${vnf_name} ${vnf_type} ${vf_module_name} ${vf_modules} ${vnf} demo ${service}
[Teardown] Close All Browsers
[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']}
+ ${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}
+ ${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
${vars}= Catenate ${vars}]\n
OperatingSystem.Create File ${FILE_CACHE}/${stack_name}.py ${vars}
OperatingSystem.Create File ${FILE_CACHE}/lastVNF4HEATBRIGE.py ${vars}
-
-
*** Settings ***
Documentation The main interface for interacting with MUSIC. It handles low level stuff like managing the http request library and MUSIC required fields
Library RequestsLibrary
-Library ONAPLibrary.Utilities
+Library ONAPLibrary.Utilities
*** Variables ***
${MUSIC_HEALTH_CHECK_PATH} /MUSIC/rest/v2/version
${MUSIC_CASSA_HEALTH_CHECK_PATH} /MUSIC/rest/v2/service/musicHealthCheck
-${MUSIC_ENDPOINT} ${GLOBAL_MUSIC_SERVER_PROTOCOL}://${GLOBAL_INJECTED_MUSIC_IP_ADDR}:${GLOBAL_MUSIC_SERVER_PORT}
\ No newline at end of file
+${MUSIC_ENDPOINT} ${GLOBAL_MUSIC_SERVER_PROTOCOL}://${GLOBAL_INJECTED_MUSIC_IP_ADDR}:${GLOBAL_MUSIC_SERVER_PORT}
:FOR ${vnf} IN @{nodelist}
\ Set To Dictionary ${map} node${nn} ${vnf}
\ ${nn}= Evaluate ${nn}+1
- \ Set To DIctionary ${dict} vnfName=${vnf}
+ \ Set To DIctionary ${dict} vnfName=${vnf}
\ ${requestInfo}= Templating.Apply Template oof ${OOF_CMSO_TEMPLATE_FOLDER}/VidCallbackData.jinja ${dict}
\ Append To List ${requestList} ${requestInfo}
${callBackDataMap}= Create Dictionary requestType=Update requestDetails=${requestList}
Run OOF-OSDF Post Request
[Documentation] Runs a scheduler POST request
- [Arguments] ${data_path} ${auth} ${data}={}
+ [Arguments] ${data_path} ${auth} ${data}={}
${session}= Create Session session ${OOF_OSDF_ENDPOINT} auth=${auth}
${headers}= Create Dictionary Accept=application/json Content-Type=application/json
[Documentation] Runs a osdf PCI-OPT request
${auth}= Create List ${GLOBAL_OOF_PCI_USERNAME} ${GLOBAL_OOF_PCI_PASSWORD}
${data}= Get Binary File ${OOF_OSDF_TEMPLATE_FOLDER}${/}pci-opt-request.json
- ${resp}= Run OOF-OSDF Post Request /api/oof/pci/v1 auth=${auth} data=${data}
+ ${resp}= Run OOF-OSDF Post Request /api/oof/pci/v1 auth=${auth} data=${data}
Should Be Equal As Strings ${resp.status_code} 204
[Documentation] Runs an Openstack Auth Request and returns the token and service catalog. you need to include the token in future request's x-auth-token headers. Service catalog describes what can be called
[Arguments] ${alias} ${username}= ${password}=
${username} ${password}= Set Openstack Credentials ${username} ${password}
- ${keystone_api_version}= Run Keyword If '${GLOBAL_INJECTED_OPENSTACK_KEYSTONE_API_VERSION}'=='' Get KeystoneAPIVersion
+ ${keystone_api_version}= Run Keyword If '${GLOBAL_INJECTED_OPENSTACK_KEYSTONE_API_VERSION}'=='' Get KeystoneAPIVersion
... ELSE Set Variable ${GLOBAL_INJECTED_OPENSTACK_KEYSTONE_API_VERSION}
${url} ${path}= Get Keystone Url And Path ${keystone_api_version}
${session}= Create Session keystone ${url} verify=True
Log Keystone URL is ${url}
${session}= Create Session keystone ${url} verify=True
${uuid}= Generate UUID4
- ${headers}= Create Dictionary Accept=application/json Content-Type=application/json
+ ${headers}= Create Dictionary Accept=application/json Content-Type=application/json
${resp}= Get Request keystone / headers=${headers}
Log Received response from keystone ${resp.text}
Should Be Equal As Strings ${resp.status_code} 300
\ ${status}= Get Variable Value ${value["status"]}
\ Run Keyword If '${status}'=='stable' Exit For Loop
${href}= Set Variable ${value["links"][0]["href"]}
- ${keystone}= Set Variable ${GLOBAL_INJECTED_KEYSTONE}
+ ${keystone}= Set Variable ${GLOBAL_INJECTED_KEYSTONE}
${version}= Remove String ${href} ${keystone} /
Return From Keyword If '${version}'=='v2.0' or '${version}'=='v3' ${version}
- Fail Keystone API version not found or not supported
-
+ Fail Keystone API version not found or not supported
+
Get KeyStoneAuthv2 Data
[Documentation] Returns all the data for keystone auth v2 api
[Arguments] ${username} ${password} ${path}
*** Keywords ***
Run Portal Health Check
[Documentation] Runs Portal Health check
- ${resp}= Run Portal Get Request ${PORTAL_HEALTH_CHECK_PATH}
+ ${resp}= Run Portal Get Request ${PORTAL_HEALTH_CHECK_PATH}
Should Be Equal As Strings ${resp.status_code} 200
Should Be Equal As Strings ${resp.json()['statusCode']} 200
-
+
Run Portal Get Request
[Documentation] Runs Portal Get request
[Arguments] ${data_path}
${status} ${resp} Run Keyword And Ignore Error Run Portal Application Login Test demo demo123456! gridster-Policy-icon-link tabframe-Policy Policy Editor
Log Policy ${status} console=yes
Close All Browsers
- ${status} ${resp} Run Keyword And Ignore Error Run Portal Application Login Test demo demo123456! gridster-SO-Monitoring-icon-link tabframe-SO-Monitoring SO
+ ${status} ${resp} Run Keyword And Ignore Error Run Portal Application Login Test demo demo123456! gridster-SO-Monitoring-icon-link tabframe-SO-Monitoring SO
Log SO-Monitoring ${status} console=yes
Close All Browsers
Input Password xpath=//input[@ng-model='password'] ${password}
Click Element xpath=//a[@id='loginBtn']
Sleep 5s
- #Go To ${PORTAL_HOME_URL}
+ #Go To ${PORTAL_HOME_URL}
#Wait Until Page Contains Applications ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT}
Wait Until Page Contains Applications 30
Log Logged in to ${PORTAL_ENDPOINT}${PORTAL_ENV}
Log ${loginId} SUCCESS
-
+
Logout From Portal GUI
[Documentation] Logs out of Portal GUI
Go To ${PORTAL_LOGIN_URL}
Input Password xpath=//input[@ng-model='password'] ${password}
Click Element xpath=//a[@id='loginBtn']
Sleep 5s
- #Go To ${PORTAL_HOME_URL}
+ #Go To ${PORTAL_HOME_URL}
Wait Until Page Contains Applications ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT}
Log Logged in to ${PORTAL_ENDPOINT}${PORTAL_ENV}
Log ${loginId} SUCCESS
Wait Until Page Contains Element xpath=${xpath} ${timeout}
Wait Until Element Is Enabled xpath=${xpath} ${timeout}
Input Text xpath=${xpath} ${value}
-
Set Input Parameter
[Arguments] ${service_uuid} ${component_uuid} ${input} ${input_type} ${input_value}
- ${resp}= SDC.Run Post Request ${SDC_BE_ENDPOINT} ${SDC_CATALOG_SERVICES_PATH}/${service_uuid}/resourceInstance/${component_uuid}/inputs {"constraints":[],"name":"${input['name']}","parentUniqueId":"${input['parentUniqueId']}","password":false,"required":false,"schema":{"property":{}},"type":"${input_type}","uniqueId":"${input['uniqueId']}","value":"${input_value}","definition":false,"toscaPresentation":{"ownerId":"${input['ownerId']}"}} ${SDC_DESIGNER_USER_ID} auth=${GLOBAL_SDC_AUTHENTICATION}
+ ${resp}= SDC.Run Post Request ${SDC_BE_ENDPOINT} ${SDC_CATALOG_SERVICES_PATH}/${service_uuid}/resourceInstance/${component_uuid}/inputs {"constraints":[],"name":"${input['name']}","parentUniqueId":"${input['parentUniqueId']}","password":false,"required":false,"schema":{"property":{}},"type":"${input_type}","uniqueId":"${input['uniqueId']}","value":"${input_value}","definition":false,"toscaPresentation":{"ownerId":"${input['ownerId']}"}} ${SDC_DESIGNER_USER_ID} auth=${GLOBAL_SDC_AUTHENTICATION}
Should Be Equal As Strings ${resp.status_code} 200
${cs_unique_id} ${cs_uuid} Add Catalog Service For Monitoring Template ${service_name}
${vfi_uuid} ${vfi_name} Add SDC Resource Instance ${cs_unique_id} ${vf_unique_id} ${vf_name}
[return] ${cs_unique_id} ${cs_uuid} ${vfi_name}
-
${vfmodule_name}= Catenate SEPARATOR=_ vf ${short_model_customization_name} ${name_suffix}
#TODO this became a mess, need to fix
${parameters}= Create Dictionary pub_key=${GLOBAL_INJECTED_PUBLIC_KEY} suffix=${name_suffix} mr_ip_addr=${GLOBAL_INJECTED_MR_IP_ADDR} mr_ip_port=${GLOBAL_MR_SERVER_PORT}
- Set To Dictionary ${parameters} oam_onap_net=oam_network_2No2 oam_onap_subnet=oam_network_2No2 cpe_public_net=${cpe_public_network_name} cpe_public_subnet=${cpe_public_subnet_name}
+ Set To Dictionary ${parameters} oam_onap_net=oam_network_2No2 oam_onap_subnet=oam_network_2No2 cpe_public_net=${cpe_public_network_name} cpe_public_subnet=${cpe_public_subnet_name}
Set To Dictionary ${parameters} cpe_signal_subnet=${cpe_signal_subnet_name} cpe_signal_net=${cpe_signal_network_name} public_net_id=${GLOBAL_INJECTED_PUBLIC_NET_ID}
# vnf_type and generic_vnf_type are identical
- Set To Dictionary ${parameters} vnf_type=${model_customization_name} generic_vnf_type=${model_customization_name} generic_vnf_name=${model_customization_name} vnf_name=${vfmodule_name}
+ Set To Dictionary ${parameters} vnf_type=${model_customization_name} generic_vnf_type=${model_customization_name} generic_vnf_name=${model_customization_name} vnf_name=${vfmodule_name}
Set To Dictionary ${parameters} service_type=${service_instance_id} sdnc_oam_ip=${GLOBAL_INJECTED_SDNC_IP_ADDR}
${post_resp}= SDNC.Preload Vfmodule ${SDNC_REST_ENDPOINT} ${SDNC_INDEX_PATH}${PRELOAD_VNF_TOPOLOGY_OPERATION_PATH} ${GLOBAL_TEMPLATE_FOLDER} ${PRELOAD_TOPOLOGY_OPERATION_BODY}/template.vcpe_infra_vfmodule.jinja ${parameters}
[Return] ${post_resp}
-
+
Preload Vnf
[Arguments] ${service_type_uuid} ${generic_vnf_name} ${generic_vnf_type} ${vf_module_name} ${vf_modules} ${vnf} ${uuid} ${service} ${server_id}
${base_vf_module_type}= Catenate
... ELSE IF "${generic_vnf_name}".endswith('1') Get From Mapping With Index ${templates} ${vf_module} 1
... ELSE IF "${generic_vnf_name}".endswith('2') Get From Mapping With Index ${templates} ${vf_module} 2
... ELSE Get From Mapping ${templates} ${vf_module}
- # skip this iteration if no template
+ # skip this iteration if no template
\ ${test_dict_length} = Get Length ${dict}
\ Continue For Loop If ${test_dict_length} == 0
\ ${filename}= Get From Dictionary ${dict} template
\ ${base_vf_module_type}= Set Variable If '${dict['isBase']}' == 'true' ${vf_module_type} ${base_vf_module_type}
\ ${closedloop_vf_module}= Set Variable If '${dict['isBase']}' == 'false' ${vf_module} ${closedloop_vf_module}
\ ${vf_name}= Update Module Name ${dict} ${vf_module_name}
- # Admin portal update no longer
+ # Admin portal update no longer
#\ Preload Vnf Profile ${vf_module_type}
\ Preload One Vnf Topology ${service_type_uuid} ${generic_vnf_name} ${generic_vnf_type} ${vf_name} ${vf_module_type} ${service} ${filename} ${uuid} ${server_id}
[Return] ${base_vf_module_type} ${closedloop_vf_module}
*** Settings ***
-Documentation Instantiate VNF
+Documentation Instantiate VNF
Library OperatingSystem
Library Collections
Library String
Library DateTime
-Library SoUtils
+Library SoUtils
Library ONAPLibrary.PreloadData WITH NAME PreloadData
-Library ONAPLibrary.Utilities
+Library ONAPLibrary.Utilities
Library ONAPLibrary.JSON
Library ONAPLibrary.ServiceMapping WITH NAME ServiceMapping
Library ONAPLibrary.Templating WITH NAME Templating
${SO_APIHANDLER_PATH} /onap/so/infra/serviceInstantiation/v7/serviceInstances
*** Keywords ***
-Instantiate Service Direct To SO
+Instantiate Service Direct To SO
[Documentation] Creates an entire service from a CSAR
- [Arguments] ${service} ${csar_file} ${vnf_template_file}
+ [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
PreloadData.Set Directory preload ./demo/preload_data
${parameters}= Get Globally Injected Parameters
:FOR ${key} IN @{keys}
\ ${value}= Get From Dictionary ${preload_dict} ${key}
- \ ${tmp_value}= Set Variable If 'GLOBAL_' in $value ${value}
+ \ ${tmp_value}= Set Variable If 'GLOBAL_' in $value ${value}
\ ${tmp_value}= Run Keyword If 'GLOBAL_' in $value Replace String ${tmp_value} \$ ${EMPTY}
\ ${tmp_value}= Run Keyword If 'GLOBAL_' in $value Replace String ${tmp_value} { ${EMPTY}
\ ${tmp_value}= Run Keyword If 'GLOBAL_' in $value Replace String ${tmp_value} } ${EMPTY}
Set To Dictionary ${template} ${tmp_key1} ${ecompnet} ${tmp_key2} ${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}
- Log ${preload_dict}
- Log ${template}
+ Log ${preload_dict}
+ 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
-
+
CDS Service Instantiate
[Arguments] ${cds_service_model} ${service_uuid} ${service_invariantUUID}
- ${auth}= Create List ${GLOBAL_SO_CATDB_USERNAME} ${GLOBAL_SO_PASSWORD}
+ ${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()}
+ ${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
+ Should Be Equal As Strings ${resp.status_code} 202
+ [Return] ${resp.json()['requestReferences']['requestId']}
*** Keywords ***
Get Processes
- [Documentation] Returns all of the processes on the currently connected host
- ${output}= Execute Command ps -ef
+ [Documentation] Returns all of the processes on the currently connected host
+ ${output}= Execute Command ps -ef
${map}= Create Process Map ${output}
[Return] ${map}
Grep Processes
- [Documentation] Return the list of processes matching the passed regex
- [Arguments] ${pattern}
- ${output}= Execute Command ps -ef|grep "${pattern}"|grep -v grep
+ [Documentation] Return the list of processes matching the passed regex
+ [Arguments] ${pattern}
+ ${output}= Execute Command ps -ef|grep "${pattern}"|grep -v grep
${map}= Create Process Map ${output}
[Return] ${map}
Create Process Map
[Documentation] Extract process pids and process names from ps -ef output
- [Arguments] ${input}
+ [Arguments] ${input}
@{lines}= Split To Lines ${input}
${map}= Create Dictionary
:FOR ${line} IN @{lines}
- \ @{parts}= Split String ${line} max_split=7
+ \ @{parts}= Split String ${line} max_split=7
\ ${pid}= Catenate ${parts[1]}
\ ${name}= Catenate ${parts[7]}
- \ Set To Dictionary ${map} ${pid}=${name}
+ \ Set To Dictionary ${map} ${pid}=${name}
[Return] ${map}
-
-
+
+
Wait for Process on Host
- [Documentation] Wait for the passed process name (regular expression) to be running on the passed host
+ [Documentation] Wait for the passed process name (regular expression) to be running on the passed host
[Arguments] ${process_name} ${host} ${timeout}=1200s
${map}= Wait Until Keyword Succeeds ${timeout} 10 sec Is Process On Host ${process_name} ${host}
[Return] ${map}
Pkill Process on Host
- [Documentation] Kill the named process(es). Process name must match exactly
+ [Documentation] Kill the named process(es). Process name must match exactly
[Arguments] ${process_name} ${host} ${timeout}=600s
Switch Connection ${host}
- ${output}= Execute Command pkill -9 -e -f ${process_name}
+ ${output}= Execute Command pkill -9 -e -f ${process_name}
[Return] ${output}
Is Process on Host
- [Documentation] Look for the passed process name (regex) to be running on the passed host. Process name can include regex.
- [Arguments] ${process_name} ${host}
+ [Documentation] Look for the passed process name (regex) to be running on the passed host. Process name can include regex.
+ [Arguments] ${process_name} ${host}
Switch Connection ${host}
${pass} ${map}= Run Keyword and Ignore Error Grep Processes ${process_name}
@{pids}= Get Dictionary Keys ${map}
${foundpid}= Catenate ""
:FOR ${pid} IN @{pids}
\ ${process_cmd}= Get From Dictionary ${map} ${pid}
- \ ${status} ${value}= Run Keyword And Ignore Error Should Match Regexp ${process_cmd} ${process_name}
+ \ ${status} ${value}= Run Keyword And Ignore Error Should Match Regexp ${process_cmd} ${process_name}
\ ${foundpid}= Set Variable If '${status}' == 'PASS' ${pid} ""
- Should Not Be Equal ${foundpid} ""
+ Should Not Be Equal ${foundpid} ""
[Return] ${map}[${foundpid}]
-
-
+
+
Get Process List on Host
- [Documentation] Gets the list of all processes on the passed host
- [Arguments] ${host}
+ [Documentation] Gets the list of all processes on the passed host
+ [Arguments] ${host}
Switch Connection ${host}
- ${map}= Get Processes
+ ${map}= Get Processes
[Return] ${map}
-
\ No newline at end of file
Run Keyword If '${resourceType}'=='PNF' Create CSARSs in SDC Onboarding Packages Directory ${directory_list} ${ziplist}
... ELSE Create ZIPs in SDC ZIP Directory ${directory_list} ${ziplist}
${catalog_service_name} ${catalog_resource_name} ${vf_modules} ${catalog_resource_ids} ${catalog_service_id} ${catalog_resources} Distribute Model From SDC ${ziplist} ${catalog_service_name} ${cds} ${service} instantiationType=${instantiationType} resourceType=${resourceType}
- Download CSAR ${catalog_service_id}
+ Download CSAR ${catalog_service_id}
[Return] ${catalog_service_name} ${catalog_resource_name} ${vf_modules} ${catalog_resources} ${catalog_resource_ids} ${catalog_service_id}
Create ZIPs in SDC ZIP Directory
\ Create Zip From Files In Directory ${folder} ${zip}
\ Append To List ${ziplist} ${zip}
${catalog_service_name} ${catalog_resource_name} ${vf_modules} ${catalog_resource_ids} ${catalog_service_id} ${catalog_resources} Distribute vCPEResCust Model From SDC ${ziplist} ${catalog_service_name} ${cds} ${service}
- Download CSAR ${catalog_service_id}
- [Return] ${catalog_service_name} ${catalog_resource_name} ${vf_modules} ${catalog_resources}
\ No newline at end of file
+ Download CSAR ${catalog_service_id}
+ [Return] ${catalog_service_name} ${catalog_resource_name} ${vf_modules} ${catalog_resources}
*** Keywords ***
Instantiate VNF
- [Documentation] Log into VID, create service instance, vnf instance, and module. This handles an arbitrary, single VNF service w/ volume modules.
+ [Documentation] Log into VID, create service instance, vnf instance, and module. This handles an arbitrary, single VNF service w/ volume modules.
[Arguments] ${customer_name} ${service} ${service_type} ${service_name} ${service_model_type} ${vnf_type} ${vf_modules} ${catalog_resources} ${product_family} ${tenant_name} ${lcp_region} ${cloud_owner} ${project_name} ${owning_entity} ${api_type} ${line_of_business}=LOB-Demonstration ${platform}=Platform-Demonstration
${uuid}= Generate UUID4
${list}= Create List
Login To VID GUI api_type=${api_type}
Log Creating ${service_name} in VID console=yes
- ${service_instance_id}= Wait Until Keyword Succeeds 900s 5s Create VID Service Instance ${customer_name} ${service_model_type} ${service_type} ${service_name} ${project_name} ${owning_entity}
+ ${service_instance_id}= Wait Until Keyword Succeeds 900s 5s Create VID Service Instance ${customer_name} ${service_model_type} ${service_type} ${service_name} ${project_name} ${owning_entity}
Validate Service Instance ${service_instance_id} ${service_type} ${customer_name}
ServiceMapping.Set Directory default ${GLOBAL_SERVICE_MAPPING_DIRECTORY}
\ ${preload_file} ${isBase}= Retrieve Module Preload and isBase ${template_name}
\ ${temp_dict_for_report} = Run Keyword If "${isBase}"=="false" Create Module in VID ${vnf_name} ${template_name} ${vf_module_type} ${generic_vnf_type} ${preload_file} ${service_instance_id} ${lcp_region} ${tenant_name} ${customer_name} ${cloud_owner}
\ Run Keyword If "${isBase}"=="false" Append To List ${temp_list_for_report} ${temp_dict_for_report}
-
+
[Return] ${temp_list_for_report}
Create Module in VID
${vf_module_name}= Catenate Vfmodule_${vnf_name}_${template_name}
${vf_module_name}= Remove String ${vf_module_name} .yaml .yml
- ${Module_name}= Set Variable
+ ${Module_name}= Set Variable
${api_type}= Retrieve Manifest Data api_type
Create Preload From JSON ${BUILD_DIR}/preloads/${preload_file} ${api_type} ${vf_module_name} ${vf_module_type} ${vnf_name} ${generic_vnf_type}
\ ${artifactType}= Get From Dictionary ${artifact} artifactType
\ ${csar_id}= Set Variable ''
\ ${csar_id}= Run Keyword If "${artifactType}"=="HEAT" Get From Dictionary ${artifact} artifactUUID
- \ ${artifactName}= Run Keyword If $csar_id in $artifact_ids Get From Dictionary ${artifact} artifactName
+ \ ${artifactName}= Run Keyword If $csar_id in $artifact_ids Get From Dictionary ${artifact} artifactName
\ Return From Keyword If $csar_id in $artifact_ids ${artifactName}
[Return] NOTFOUND
*** Variables ***
${service_template} robot/assets/cds/service-Vfirewall0911-template.yml
${env} robot/assets/cds/env.yml
-${so_request_template} so/cds_request.jinja
+${so_request_template} so/cds_request.jinja
${vnf_template_name} so/cds_vnf.jinja
${vfmodule_template_name} so/cds_vfmodule.jinja
${so_uri_path} /onap/so/infra/serviceInstantiation/v7/serviceInstances
\ Set To Dictionary ${dict} vf_modules=${vfmodules}
\ ${vnf_payload}= Templating.Apply Template cds ${vnf_template_name} ${dict}
\ ${data}= Catenate [${vnf_payload}]
-
+
Set To Dictionary ${dict} vnfs=${data}
${request}= Templating.Apply Template cds ${so_request_template} ${dict}
Log --------request--------
Log ${request}
Log --------end request--------
${auth}= Create List ${GLOBAL_SO_USERNAME} ${GLOBAL_SO_PASSWORD}
- ${resp}= SO.Run Post Request ${GLOBAL_SO_ENDPOINT} ${so_uri_path} ${data} auth=${auth}
+ ${resp}= SO.Run Post Request ${GLOBAL_SO_ENDPOINT} ${so_uri_path} ${data} auth=${auth}
Log --------response-------
${json_string}= Evaluate json.dumps(${resp.json()}) json
Log ${json_string}
Set To Dictionary ${dict} vnf_model_version_id=${metadata['UUID']}
Set To Dictionary ${dict} vnf_model_customization_name=${metadata['name']}
Set To Dictionary ${dict} vnf_model_customization_id=${metadata['customizationUUID']}
-
+
Get VFModule Info
[Documentation] Dig the vf module names from the VID service model
Set To Dictionary ${dict} vf_module_model_version_id=${vfmodule['metadata']['vfModuleModelUUID']}
Set To Dictionary ${dict} vf_module_model_customization_id=${vfmodule['metadata']['vfModuleModelCustomizationUUID']}
Set To Dictionary ${dict} vf_module_name=${vfmodule_name}
-
Should Not Contain ${response text} FAILED
Click On Button When Enabled //button[contains(text(),'Close')]
${instance_id}= Parse Instance Id ${response text}
- # sometimes the page refreshes - a reload is required on timeout but next step for VF Module does that
+ # sometimes the page refreshes - a reload is required on timeout but next step for VF Module does that
Run Keyword And Ignore Error Wait Until Page Contains ${service_instance_name} ${GLOBAL_VID_UI_TIMEOUT_LONG}
[Return] ${instance_id}
Wait For Add VF Module
[Documentation] Retry by refresh if the ADD VF-Module is not visible
- Wait Until Page Contains View/Edit Service Instance timeout=${GLOBAL_VID_UI_TIMEOUT_MEDIUM}
-
+ Wait Until Page Contains View/Edit Service Instance timeout=${GLOBAL_VID_UI_TIMEOUT_MEDIUM}
+
${status} ${value} Run Keyword And Ignore Error Wait Until Element Is Visible //button[contains(text(),'Add VF-Module')] timeout=${GLOBAL_VID_UI_TIMEOUT_SHORT}
Return From Keyword If '${status}' == 'PASS'
Reload Page
# After tearing down a VF module, execute the reverse HB for it to remove the references from A&AI
Run Keyword If 'Vfmodule_Ete' in '${vfmodule}' Execute Reverse Heatbridge ${uris_to_delete}
Fail Continue with Next Remove
-
+
Delete Next VID Entity
[Documentation] Teardown the next VID entity that has a Remove icon.
[Arguments] ${service_instance_id} ${lcp_region} ${tenant} ${remove_order} ${customer}
[Documentation] When service instance has been deleted, an alert will be triggered on the search to end the loop
... The various Alert keywords did not prevent the alert exception on the Click ELement, hence this roundabout way of handling the alert
Run Keyword And Ignore Error Click On Button When Enabled //button[contains(text(),'Submit')]
- ${status} ${t}= Run Keyword And Ignore Error Handle Alert
+ ${status} ${t}= Run Keyword And Ignore Error Handle Alert
Return From Keyword If '${status}' == 'FAIL'
Fail ${t}
VFW Closed Loop Test
[TAGS] closedloop vfwcl
VFW Policy
-
+
VDNS Closed Loop Test
[TAGS] closedloop vdnscl
VDNS Policy
-
+
VFWCL Closed Loop Test
[TAGS] vfwclosedloop
Log ${EMPTY}
[TAGS] repushpolicy
Undeploy Policy operational.modifyconfig
Update vVFWCL Policy ${MODEL_INVARIANT_ID}
-
Create Cloud Config Test
[TAGS] so cloudconfig
# Run Create Cloud Configuration RegionOne RegionOne RegionOne DEFAULT_KEYSTONE identify_url:http://10.12.25.2:5000/v2.0 mso_id:demo mso_pass:encrypted_password admin_tenant:1e097c6713e74fd7ac8e4295e605ee1e member_role:admin identity_server_type:KEYSTONE identity_authentication_type:USERNAME_PASSWORD
- ${arguments}= Create Dictionary site_name=${GLOBAL_INJECTED_REGION} region_id=${GLOBAL_INJECTED_REGION} clli=${GLOBAL_INJECTED_REGION} identity_id=DEFAULT_KEYSTONE identity_url=${GLOBAL_INJECTED_KEYSTONE}/${GLOBAL_INJECTED_OPENSTACK_KEYSTONE_API_VERSION} mso_id=${GLOBAL_INJECTED_OPENSTACK_USERNAME} mso_pass=${GLOBAL_INJECTED_OPENSTACK_API_KEY} admin_tenant=${GLOBAL_INJECTED_OPENSTACK_TENANT_ID} member_role=admin identity_server_type=KEYSTONE_V3 authentication_type=USERNAME_PASSWORD
+ ${arguments}= Create Dictionary site_name=${GLOBAL_INJECTED_REGION} region_id=${GLOBAL_INJECTED_REGION} clli=${GLOBAL_INJECTED_REGION} identity_id=DEFAULT_KEYSTONE identity_url=${GLOBAL_INJECTED_KEYSTONE}/${GLOBAL_INJECTED_OPENSTACK_KEYSTONE_API_VERSION} mso_id=${GLOBAL_INJECTED_OPENSTACK_USERNAME} mso_pass=${GLOBAL_INJECTED_OPENSTACK_API_KEY} admin_tenant=${GLOBAL_INJECTED_OPENSTACK_TENANT_ID} member_role=admin identity_server_type=KEYSTONE_V3 authentication_type=USERNAME_PASSWORD
${auth}= Create List ${GLOBAL_SO_CATDB_USERNAME} ${GLOBAL_SO_PASSWORD}
SO.Upsert Cloud Configuration ${GLOBAL_SO_CATDB_ENDPOINT} ${GLOBAL_SO_CLOUD_CONFIG_PATH} ${GLOBAL_TEMPLATE_FOLDER} ${GLOBAL_SO_CLOUD_CONFIG_TEMPLATE} ${arguments} auth=${auth}
Create Cloud Config RegionThree V3 Test
[TAGS] so cloudconfig cloudconfigv3
[Documentation] Create Keystone V3 in Region 3
- ... [Arguments] ${site_name} ${region_id} ${clli} ${identity_id} ${identity_url} ${mso_id} ${mso_pass}
+ ... [Arguments] ${site_name} ${region_id} ${clli} ${identity_id} ${identity_url} ${mso_id} ${mso_pass}
... ${admin_tenant} ${member_role} ${identity_server_type} ${authentication_type} ${project_domain_name} ${user_domain_Name}
... ${region_id} in openstack is set up by cloud administration and does not have to be same as ONAP ${site_name}
... In Windriver/Intel test labs the os_region_id's are all set to "RegionOne"
... clli by testing team convention is same as onap site_name
... KEYSTONE URL should end in /v3 SO will put /auth when KEYSTONE_V3 is the identity_server_type
- ${arguments}= Create Dictionary site_name=${GLOBAL_INJECTED_REGION_THREE} region_id=${GLOBAL_INJECTED_REGION} clli=${GLOBAL_INJECTED_REGION_THREE} identity_id=REGION_THREE_KEYSTONE identity_url=${GLOBAL_INJECTED_KEYSTONE_REGION_THREE}/${GLOBAL_INJECTED_OPENSTACK_KEYSTONE_API_VERSION_REGION_THREE} mso_id=${GLOBAL_INJECTED_OPENSTACK_USERNAME_REGION_THREE} mso_pass=${GLOBAL_INJECTED_OPENSTACK_SO_ENCRYPTED_PASSWORD_REGION_THREE} admin_tenant=${GLOBAL_INJECTED_OPENSTACK_TENANT_ID_REGION_THREE} member_role=admin identity_server_type=KEYSTONE_V3 authentication_type=USERNAME_PASSWORD project_domain_name=${GLOBAL_INJECTED_OPENSTACK_PROJECT_DOMAIN_REGION_THREE} user_domain_name=${GLOBAL_INJECTED_OPENSTACK_USER_DOMAIN_REGION_THREE}
+ ${arguments}= Create Dictionary site_name=${GLOBAL_INJECTED_REGION_THREE} region_id=${GLOBAL_INJECTED_REGION} clli=${GLOBAL_INJECTED_REGION_THREE} identity_id=REGION_THREE_KEYSTONE identity_url=${GLOBAL_INJECTED_KEYSTONE_REGION_THREE}/${GLOBAL_INJECTED_OPENSTACK_KEYSTONE_API_VERSION_REGION_THREE} mso_id=${GLOBAL_INJECTED_OPENSTACK_USERNAME_REGION_THREE} mso_pass=${GLOBAL_INJECTED_OPENSTACK_SO_ENCRYPTED_PASSWORD_REGION_THREE} admin_tenant=${GLOBAL_INJECTED_OPENSTACK_TENANT_ID_REGION_THREE} member_role=admin identity_server_type=KEYSTONE_V3 authentication_type=USERNAME_PASSWORD project_domain_name=${GLOBAL_INJECTED_OPENSTACK_PROJECT_DOMAIN_REGION_THREE} user_domain_name=${GLOBAL_INJECTED_OPENSTACK_USER_DOMAIN_REGION_THREE}
${auth}= Create List ${GLOBAL_SO_CATDB_USERNAME} ${GLOBAL_SO_PASSWORD}
SO.Upsert Cloud Configuration ${GLOBAL_SO_CATDB_ENDPOINT} ${GLOBAL_SO_CLOUD_CONFIG_PATH} ${GLOBAL_TEMPLATE_FOLDER} ${GLOBAL_SO_CLOUD_CONFIG_TEMPLATE} ${arguments} auth=${auth}
Inventory Tenant If Not Exists CloudOwner ${GLOBAL_INJECTED_REGION_THREE} SharedNode OwnerType v1 CloudZone ${GLOBAL_INJECTED_OPENSTACK_TENANT_ID_REGION_THREE} ${GLOBAL_INJECTED_OPENSTACK_PROJECT_DOMAIN_REGION_THREE}
Get Cloud Config Test
[TAGS] mso cloudconfig
${auth}= Create List ${GLOBAL_SO_CATDB_USERNAME} ${GLOBAL_SO_PASSWORD}
- ${get_resp}= SO.Get Cloud Configuration ${GLOBAL_SO_CATDB_ENDPOINT} ${GLOBAL_SO_CLOUD_CONFIG_PATH} ${GLOBAL_INJECTED_REGION} auth=${auth}
- Should Be Equal As Strings ${get_resp.status_code} 200
\ No newline at end of file
+ ${get_resp}= SO.Get Cloud Configuration ${GLOBAL_SO_CATDB_ENDPOINT} ${GLOBAL_SO_CLOUD_CONFIG_PATH} ${GLOBAL_INJECTED_REGION} auth=${auth}
+ Should Be Equal As Strings ${get_resp.status_code} 200
Initialize SO Openstack Identity For V3
[Tags] InitDemo
- ${arguments}= Create Dictionary site_name=${GLOBAL_INJECTED_REGION} region_id=${GLOBAL_INJECTED_REGION} clli=${GLOBAL_INJECTED_REGION} identity_id=DEFAULT_KEYSTONE identity_url=${GLOBAL_INJECTED_KEYSTONE}/${GLOBAL_INJECTED_OPENSTACK_KEYSTONE_API_VERSION} mso_id=${GLOBAL_INJECTED_OPENSTACK_USERNAME} mso_pass=${GLOBAL_INJECTED_OPENSTACK_SO_ENCRYPTED_PASSWORD} admin_tenant=${GLOBAL_INJECTED_OPENSTACK_TENANT_ID} member_role=admin identity_server_type=KEYSTONE_V3 authentication_type=USERNAME_PASSWORD project_domain_name=${GLOBAL_INJECTED_OPENSTACK_DOMAIN_ID} user_domain_name=${GLOBAL_INJECTED_OPENSTACK_USER_DOMAIN}
+ ${arguments}= Create Dictionary site_name=${GLOBAL_INJECTED_REGION} region_id=${GLOBAL_INJECTED_REGION} clli=${GLOBAL_INJECTED_REGION} identity_id=DEFAULT_KEYSTONE identity_url=${GLOBAL_INJECTED_KEYSTONE}/${GLOBAL_INJECTED_OPENSTACK_KEYSTONE_API_VERSION} mso_id=${GLOBAL_INJECTED_OPENSTACK_USERNAME} mso_pass=${GLOBAL_INJECTED_OPENSTACK_SO_ENCRYPTED_PASSWORD} admin_tenant=${GLOBAL_INJECTED_OPENSTACK_TENANT_ID} member_role=admin identity_server_type=KEYSTONE_V3 authentication_type=USERNAME_PASSWORD project_domain_name=${GLOBAL_INJECTED_OPENSTACK_DOMAIN_ID} user_domain_name=${GLOBAL_INJECTED_OPENSTACK_USER_DOMAIN}
${auth}= Create List ${GLOBAL_SO_CATDB_USERNAME} ${GLOBAL_SO_PASSWORD}
Run Keyword If '${GLOBAL_INJECTED_OPENSTACK_KEYSTONE_API_VERSION}'=='v3' SO.Upsert Cloud Configuration ${GLOBAL_SO_CATDB_ENDPOINT} ${GLOBAL_SO_CLOUD_CONFIG_PATH} ${GLOBAL_TEMPLATE_FOLDER} ${GLOBAL_SO_CLOUD_CONFIG_TEMPLATE} ${arguments} auth=${auth}
[Documentation] Distribute Demo vFWDT (does not delete model after distribution)
[Tags] DistributeDemoVFWDT
[Timeout] 600
- Model Distribution For Directory service=vFWDT
+ Model Distribution For Directory service=vFWDT
Download Service CSAR To Robot
[Tags] downloadCsar
Portal AAF new fields
EP Admin widget layout reset
- [TAGS] portalSKIP portal-ci
+ [TAGS] portalSKIP portal-ci
Reset widget layout option
Validate Functional Top Menu Get Access
Portal admin Add Application admin User New user ${login_id} ${email_address}
Add Application Admin for Existing User Test user
- [TAGS] portal
+ [TAGS] portal
${login_id} ${email_address}= Generate Random User demoapp
Portal admin Add Application Admin Existing User -APPDEMO ${login_id}
*** Settings ***
-Documentation Testing Installation
+Documentation Testing Installation
... Tests that confirm an installation is valid and not meant as recurring health test
-...
+...
Test Timeout 10 second
*** Settings ***
-Documentation Instantiate VNF via Direct SO Calls
+Documentation Instantiate VNF via Direct SO Calls
...
Test Timeout 600 second
Resource ../resources/so/direct_instantiate.robot
*** Variables ***
-${CSAR_FILE}
+${CSAR_FILE}
${VFW_TEMPLATE} robot/assets/templates/vcpeutils/template.vfw_vfmodule.json
#### Runtime Service Name ####
${new_vnf_service_name}= Set Variable ${new_vnf_name}_${GLOBAL_BUILD_NUMBER}
-
+
#### Getting Manifest Data ####
${subscriber}= Retrieve Manifest Data subscriber
${service_type}= Retrieve Manifest Data service_type
#### VID Stuff ####
Log Instantiating Service ${new_vnf_service_name} console=yes
${vnf_details}= Instantiate VNF ${subscriber} ${new_vnf_name} ${service_type} ${new_vnf_service_name} ${catalog_service_name} ${catalog_resource_name} ${vf_modules} ${catalog_resources} ${service_type} ${tenant_name} ${region_id} ${cloud_owner} ${project_name} ${owning_entity} ${api_type} platform=${platform} line_of_business=${line_of_business}
-
+
# sleeping after instantiation, seems to occasionally have some issues if running validation immediately
Sleep 30
set to dictionary ${SERVICE_MAPPING} GLOBAL_SERVICE_FOLDER_MAPPING=${GLOBAL_SERVICE_FOLDER_MAPPING} GLOBAL_SERVICE_VNF_MAPPING=${GLOBAL_SERVICE_VNF_MAPPING} GLOBAL_SERVICE_GEN_NEUTRON_NETWORK_MAPPING=${GLOBAL_SERVICE_GEN_NEUTRON_NETWORK_MAPPING} GLOBAL_SERVICE_DEPLOYMENT_ARTIFACT_MAPPING=${GLOBAL_SERVICE_DEPLOYMENT_ARTIFACT_MAPPING} GLOBAL_SERVICE_TEMPLATE_MAPPING=${GLOBAL_SERVICE_TEMPLATE_MAPPING} GLOBAL_VALIDATE_NAME_MAPPING=
${json_string}= evaluate json.dumps(${SERVICE_MAPPING}) json
- OperatingSystem.Create File ${GLOBAL_SERVICE_MAPPING_DIRECTORY}/${vnf_name}/service_mapping.json ${json_string}
+ OperatingSystem.Create File ${GLOBAL_SERVICE_MAPPING_DIRECTORY}/${vnf_name}/service_mapping.json ${json_string}
[Return] ${vnf_name}
Retrieve Manifest Data
*** Test Cases *** CUSTOMER SERVICE PRODUCT_FAMILY
-Instantiate Virtual DNS ETE_Customer vLB vLB
+Instantiate Virtual DNS ETE_Customer vLB vLB
[Tags] instantiate stability72hr stability72hrvLB
-Instantiate Virtual Volume Group ETE_Customer vVG vVG
+Instantiate Virtual Volume Group ETE_Customer vVG vVG
[Tags] instantiate stability72hr stability72hrvVG
-Instantiate Virtual FirewallCL ETE_Customer vFWCL vFWCL
+Instantiate Virtual FirewallCL ETE_Customer vFWCL vFWCL
[Tags] instantiate stability72hr stability72hrvFWCL
Instantiate Virtual DNS No Delete ETE_Customer vLB vLB KEEP
[Tags] instantiateNoDelete
Instantiate Virtual FirewallCL No Delete ETE_Customer vFWCL vFWCL KEEP
[Tags] instantiateNoDelete
Instantiate Virtual Firewall ETE_Customer vFW vFW
-
-
-
-
-