removing the rest of preload global vars 81/91481/3
authorDR695H <dr695h@att.com>
Mon, 15 Jul 2019 21:19:12 +0000 (17:19 -0400)
committerGary Wu <gary.wu@futurewei.com>
Tue, 16 Jul 2019 20:08:36 +0000 (20:08 +0000)
Issue-ID: TEST-174
Change-Id: Ie5354df3526133d398d3fea703145c4a1649b3c1
Signed-off-by: DR695H <dr695h@att.com>
15 files changed:
robot/resources/aai/service_instance.robot
robot/resources/demo_preload.robot
robot/resources/heatbridge.robot
robot/resources/portal_interface.robot
robot/resources/stack_validation/policy_check_vfw.robot
robot/resources/stack_validation/validate_dns_scaling.robot
robot/resources/stack_validation/validate_vfw.robot
robot/resources/test_templates/closedloop_test_template.robot
robot/resources/test_templates/vnf_orchestration_test_template.robot
robot/resources/test_templates/vnf_orchestration_with_cds_test_template.robot
robot/resources/vid/create_service_instance.robot
robot/resources/vid/vid_interface.robot
robot/testsuites/cds.robot
robot/testsuites/closed-loop.robot
robot/testsuites/demo.robot

index fa238ce..6c11097 100644 (file)
@@ -70,7 +70,6 @@ VLB Closed Loop Hack
     Set Test Variable   ${VLB_CLOSED_LOOP_DELETE}    ${datapath}
     Set Test Variable   ${VLB_CLOSED_LOOP_VNF_ID}    ${vnf_id}
 
-
 VLB Closed Loop Hack Update
     [Documentation]   Update the A&AI vDNS scaling vf module to have persona-model-version 1 rather than 1.0
     [Arguments]   ${stack_name}
@@ -85,25 +84,13 @@ VLB Closed Loop Hack Update
     ${resp}=   Run A&AI Put Request    ${INDEX_PATH}${uri}   ${json}
     ${get_resp}=    Run A&AI Get Request     ${INDEX_PATH}${query}
 
-
 Teardown VLB Closed Loop Hack
     Return From Keyword If    ' ${VLB_CLOSED_LOOP_DELETE}' == ''
        Delete A&AI Entity    ${VLB_CLOSED_LOOP_DELETE}
 
-
 Validate VF Module
     [Documentation]    Query and Validates A&AI Service Instance
     [Arguments]    ${vf_module_name}    ${stack_type}
        Run Keyword If    '${stack_type}'=='vLB'    Validate vLB Stack    ${vf_module_name}
        Run Keyword If    '${stack_type}'=='vFW'    Validate Firewall Stack    ${vf_module_name}
-       Run Keyword If    '${stack_type}'=='vVG'    Validate vVG Stack    ${vf_module_name}
-
-*** Keywords ***
-Create AAI Service Instance
-    [Documentation]    Query and Validates A&AI Service Instance
-    [Arguments]    ${customer_id}    ${service_type}    ${service_instance_id}    ${service_instance_name}
-    ${json_string}=    Catenate     { "service-type": "VDNS" , "service-subscriptions":[{"service-instance-id":"instanceid123","service-instance-name":"VDNS"}]}
-       ${put_resp}=    Run A&AI Put Request     ${INDEX PATH}${CUSTOMER SPEC PATH}${CUSTOMER ID}${SERVICE SUBSCRIPTIONS}/{service_type}   ${json_string}
-    Should Be Equal As Strings         ${put_resp.status_code}         201
-       [Return]  ${put_resp.status_code}
-
+       Run Keyword If    '${stack_type}'=='vVG'    Validate vVG Stack    ${vf_module_name}
\ No newline at end of file
index cbdeef7..beb819d 100644 (file)
@@ -55,16 +55,14 @@ Load Customer
     [Documentation]   Use openECOMP to Orchestrate a service.
     [Arguments]    ${customer_name}
     ${tenant_id}    ${tenant_name}=    Setup Orchestrate VNF   ${GLOBAL_AAI_CLOUD_OWNER}   SharedNode    OwnerType    v1    CloudZone
-    Set Test Variable    ${CUSTOMER_NAME}    ${customer_name}
     ${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}    ${region}   ${tenant_id}
+    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
     [Documentation]   Use openECOMP to Orchestrate a service.
     [Arguments]    ${customer_name}
-    Set Test Variable    ${CUSTOMER_NAME}    ${customer_name}
     Log   ${\n}Distributing vFWCL
     ${status}   ${value}=   Run Keyword And Ignore Error   Distribute Model   vFWCL   ${DEMO_PREFIX}VFWCL
     Log   Distibuting vLB
@@ -110,7 +108,7 @@ Create Customer For VNF Demo
 
 Preload User Model
     [Documentation]   Preload the demo data for the passed VNF with the passed module name
-    [Arguments]   ${vnf_name}   ${vf_module_name}    ${service}
+    [Arguments]   ${vnf_name}   ${vf_module_name}    ${service}    ${service_instance_id}
     # Go to A&AI and get information about the VNF we need to preload
     ${status}  ${generic_vnf}=   Run Keyword And Ignore Error   Get Service Instance    ${vnf_name}
     Run Keyword If   '${status}' == 'FAIL'   FAIL   VNF Name: ${vnf_name} is not found.
@@ -175,9 +173,10 @@ APPC Mount Point
 Instantiate VNF
     [Arguments]   ${service}   ${vf_module_label}=NULL
     ${tenant_id}    ${tenant_name}=    Setup Orchestrate VNF    ${GLOBAL_AAI_CLOUD_OWNER}    SharedNode    OwnerType    v1    CloudZone
-    ${vf_module_name_list}    ${generic_vnfs}    ${vvg_server_id}=    Orchestrate VNF    DemoCust    ${service}   ${service}    ${tenant_id}    ${tenant_name}
-    Save For Delete    ${tenant_id}    ${tenant_name}    ${vvg_server_id}
-    Log   Customer Name=${CUSTOMER_NAME}
+    ${uuid}=    Generate UUID4
+    ${vf_module_name_list}    ${generic_vnfs}    ${vvg_server_id}    ${service_instance_id}=    Orchestrate VNF    DemoCust_${uuid}    ${service}   ${service}    ${tenant_id}    ${tenant_name}
+    ${stack_name} =    Get From List   ${vf_module_name_list}  -1
+    Save For Delete    ${tenant_id}    ${tenant_name}    ${vvg_server_id}    DemoCust_${uuid}    ${service_instance_id}    ${stack_name}
     :FOR  ${vf_module_name}  IN   @{vf_module_name_list}
     \   Log   VNF Module Name=${vf_module_name}
     # Don't get from MSO for now due to SO-1186
@@ -198,7 +197,6 @@ Instantiate Demo VNF
     [Arguments]   ${service}   ${vf_module_label}=NULL
     ${tenant_id}    ${tenant_name}=    Setup Orchestrate VNF    ${GLOBAL_AAI_CLOUD_OWNER}    SharedNode    OwnerType    v1    CloudZone
     ${vf_module_name}    ${service}    ${generic_vnfs}=   Orchestrate Demo VNF    Demonstration    ${service}   ${service}    ${tenant_id}    ${tenant_name}
-    Log   Customer Name=${CUSTOMER_NAME}
     Log   VNF Module Name=${vf_module_name}
     # 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}
@@ -213,14 +211,14 @@ Instantiate Demo VNF
 
 Save For Delete
     [Documentation]   Create a variable file to be loaded for save for delete
-    [Arguments]    ${tenant_id}    ${tenant_name}    ${vvg_server_id}
+    [Arguments]    ${tenant_id}    ${tenant_name}    ${vvg_server_id}    ${customer_name}    ${service_instance_id}    ${stack_name}
     ${dict}=    Create Dictionary
     Set To Dictionary   ${dict}   TENANT_NAME=${tenant_name}
     Set To Dictionary   ${dict}   TENANT_ID=${tenant_id}
-    Set To Dictionary   ${dict}   CUSTOMER_NAME=${CUSTOMER_NAME}
-    Set To Dictionary   ${dict}   STACK_NAME=${STACK_NAME}
+    Set To Dictionary   ${dict}   CUSTOMER_NAME=${customer_name}
+    Set To Dictionary   ${dict}   STACK_NAME=${stack_name}
     Set To Dictionary   ${dict}   VVG_SERVER_ID=${vvg_server_id}
-    Set To Dictionary   ${dict}   SERVICE_INSTANCE_ID=${SERVICE_INSTANCE_ID}
+    Set To Dictionary   ${dict}   SERVICE_INSTANCE_ID=${service_instance_id}
 
     Set To Dictionary   ${dict}   VLB_CLOSED_LOOP_DELETE=${VLB_CLOSED_LOOP_DELETE}
     Set To Dictionary   ${dict}   VLB_CLOSED_LOOP_VNF_ID=${VLB_CLOSED_LOOP_VNF_ID}
@@ -239,7 +237,7 @@ Save For Delete
     \    ${vars}=    Catenate  ${vars}${comma} "${id}"
     \    ${comma}=   Catenate   ,
     ${vars}=    Catenate  ${vars}]\n
-    OperatingSystem.Create File   ${FILE_CACHE}/${STACK_NAME}.py   ${vars}
+    OperatingSystem.Create File   ${FILE_CACHE}/${stack_name}.py   ${vars}
     OperatingSystem.Create File   ${FILE_CACHE}/lastVNF4HEATBRIGE.py   ${vars}
 
 
index c8d6971..65415a3 100644 (file)
@@ -33,7 +33,7 @@ Execute Heatbridge
     [Documentation]   Run the Heatbridge against the stack to generate the bulkadd message
     ...    Execute the build add
     ...    Validate the add results by running the named query
-    [Arguments]    ${stack_name}    ${service_instance_id}    ${service}    ${ipv4_oam_address}
+    [Arguments]    ${stack_name}    ${service}    ${ipv4_oam_address}
     Return From Keyword If    '${service}' == 'vVG'
     Run Openstack Auth Request    auth
     ${stack_info}=    Wait for Stack to Be Deployed    auth    ${stack_name}
index e8a6c53..273ecc5 100644 (file)
@@ -138,7 +138,7 @@ Select From List When Enabled
     [Arguments]     ${xpath}    ${value}    ${timeout}=${GLOBAL_VID_UI_TIMEOUT_MEDIUM}
     Wait Until Page Contains Element    xpath=${xpath}    ${timeout}
     Wait Until Element Is Enabled    xpath=${xpath}    ${timeout}
-    Select From List     xpath=${xpath}    ${value}
+    Select From List By Value     xpath=${xpath}    ${value}
 
 Input Text When Enabled
     [Arguments]     ${xpath}    ${value}    ${timeout}=${GLOBAL_VID_UI_TIMEOUT_MEDIUM}
index 170d638..927b1ec 100644 (file)
@@ -8,7 +8,7 @@ Library    ONAPLibrary.JSON
 Library    ONAPLibrary.Openstack
 Library    Collections
 Library    String
-Library           ONAPLibrary.ServiceMapping
+Library           ONAPLibrary.ServiceMapping    WITH NAME    ServiceMapping
 
 Resource          ../openstack/keystone_interface.robot
 Resource          ../openstack/nova_interface.robot
@@ -17,7 +17,6 @@ Resource          ../ssh/files.robot
 Resource          ../demo_preload.robot
 Resource          packet_generator_interface.robot
 Resource          validate_common.robot
-Resource          ../test_templates/vnf_orchestration_test_template.robot
 
 
 *** Variables ***
@@ -91,8 +90,8 @@ Policy Check vLB Stack
     [Return]    ${dnsscaling}
 
 Get DNSScaling Prefix
-    Set Directory    default    ./demo/service_mapping
-    ${mapping}=    Get Service Template Mapping    default    vLB    vLB
+    ServiceMapping.Set Directory    default    ./demo/service_mapping
+    ${mapping}=    ServiceMapping.Get Service Template Mapping    default    vLB    vLB
     :FOR   ${dict}    IN   @{mapping}
     \    Return From Keyword If    '${dict['isBase']}' == 'false'    ${dict['prefix']}
     [Return]   None
index 0778a2b..9082eca 100644 (file)
@@ -20,9 +20,9 @@ Resource          validate_common.robot
 *** Keywords ***
 Validate Dns Scaling Stack
     [Documentation]    Wait for the DNS scaling stack to be instantiated
-    [Arguments]    ${STACK_NAME}
+    [Arguments]    ${stack_name}
     Run Openstack Auth Request    auth
-    ${stack_info}=    Wait for Stack to Be Deployed    auth    ${STACK_NAME}
+    ${stack_info}=    Wait for Stack to Be Deployed    auth    ${stack_name}
     ${stack_id}=    Get From Dictionary    ${stack_info}    id
     ${server_list}=    Get Openstack Servers    auth
     Log     ${server_list}
index 4ef7f0c..4646720 100644 (file)
@@ -21,9 +21,9 @@ Resource          validate_common.robot
 *** Keywords ***
 Validate Firewall Stack
     [Documentation]    Identifies and validates the firewall servers in the VFW Stack
-    [Arguments]    ${STACK_NAME}
+    [Arguments]    ${stack_name}
     Run Openstack Auth Request    auth
-    ${stack_info}=    Wait for Stack to Be Deployed    auth    ${STACK_NAME}
+    ${stack_info}=    Wait for Stack to Be Deployed    auth    ${stack_name}
     ${stack_id}=    Get From Dictionary    ${stack_info}    id
     ${server_list}=    Get Openstack Servers    auth
 
index 95af32b..e43233e 100644 (file)
@@ -1,14 +1,12 @@
 *** Settings ***
 Documentation    Policy Closed Loop Test cases
 
-Resource        ../policy_interface.robot
 Resource        ../stack_validation/policy_check_vfw.robot
-Resource        ../stack_validation/packet_generator_interface.robot
-Resource        vnf_orchestration_test_template.robot
 
 Library    String
 Library    Process
 Library    ONAPLibrary.Templating
+Library    ONAPLibrary.Utilities
 
 *** Variables ***
 ${RESOURCE_PATH_CREATE}        /pdp/createPolicy
@@ -54,24 +52,18 @@ ${DNSSCALINGSTACK}
 VFW Policy
     Log    Suite name ${SUITE NAME} ${TEST NAME} ${PREV TEST NAME}
     Initialize VFW Policy
-    ${stackname}=   Orchestrate VNF vFW closedloop
+    ${stackname}   ${generic_vnfs}    ${server_id}    ${service_instance_id}    ${customer_name}=   Orchestrate VNF vFW closedloop
     Policy Check FirewallCL Stack    ${stackname}    ${VFWPOLICYRATE}
-    # there is none of this
-    Delete VNF    ${None}     ${None}
+    Delete VNF    ${None}     ${server_id}    ${customer_name}    ${service_instance_id}    ${stackname}
 
 VDNS Policy
     Initialize VDNS Policy
-    ${stackname}=   Orchestrate VNF vDNS closedloop
+    ${stackname}   ${generic_vnfs}    ${server_id}    ${service_instance_id}    ${customer_name}=   Orchestrate VNF vDNS closedloop
     ${dnsscaling}=   Policy Check vLB Stack    ${stackname}    ${VLBPOLICYRATE}
     Set Test Variable   ${DNSSCALINGSTACK}   ${dnsscaling}
-    # there is none of this
-    Delete VNF    ${None}     ${None}
+    Delete VNF    ${None}     ${server_id}    ${customer_name}    ${service_instance_id}    ${stackname}
 
 Initialize VFW Policy
-#    Create Config Policy
-#    Push Config Policy    ${CONFIG_POLICY_NAME}    ${CONFIG_POLICY_TYPE}
-#    Create Ops Policy
-#    Push Ops Policy    ${OPS_POLICY_NAME}    ${OPS_POLICY_TYPE}
      Get Configs VFW Policy
 
 Initialize VDNS Policy
@@ -116,8 +108,9 @@ Get Configs VDNS Policy
 
 Teardown Closed Loop
     [Documentation]   Tear down a closed loop test case
+    [Arguments]    ${customer_name}
     Terminate All Processes
-    Teardown VNF
+    Teardown VNF    ${customer_name}
     Log     Teardown complete
 
 Create Config Policy
@@ -193,15 +186,19 @@ Orchestrate VNF vFW closedloop
        [Documentation]    VNF Orchestration for vFW
        Log    VNF Orchestration flow TEST NAME=${TEST NAME}
        ${tenant_id}    ${tenant_name}=    Setup Orchestrate VNF    ${GLOBAL_AAI_CLOUD_OWNER}    SharedNode    OwnerType    v1    CloudZone
-       ${stack_name}=  Orchestrate VNF   ETE_CLP    vFWCL      vFWCL   ${tenant_id}    ${tenant_name}
-       [Return]  ${stack_name}
+    ${uuid}=    Generate UUID4
+       ${stack_names}   ${generic_vnfs}    ${server_id}    ${service_instance_id}=  Orchestrate VNF   ETE_CLP_${uuid}    vFWCL      vFWCL   ${tenant_id}    ${tenant_name}
+       ${customer_name}=    Catenate    ETE_CLP_${uuid}
+       [Return]  ${stack_names}   ${generic_vnfs}    ${server_id}    ${service_instance_id}    ${customer_name}
 
  Orchestrate VNF vDNS closedloop
        [Documentation]    VNF Orchestration for vLB
        Log    VNF Orchestration flow TEST NAME=${TEST NAME}
        ${tenant_id}    ${tenant_name}=    Setup Orchestrate VNF    ${GLOBAL_AAI_CLOUD_OWNER}   SharedNode    OwnerType    v1    CloudZone
-       ${stack_name}=  Orchestrate VNF   ETE_CLP    vLB      vLB   ${tenant_id}    ${tenant_name}
-       [Return]  ${stack_name}
+    ${uuid}=    Generate UUID4
+       ${stack_names}   ${generic_vnfs}    ${server_id}    ${service_instance_id}=  Orchestrate VNF   ETE_CLP_${uuid}    vLB      vLB   ${tenant_id}    ${tenant_name}
+       ${customer_name}=    Catenate    ETE_CLP_${uuid}
+       [Return]  ${stack_names}   ${generic_vnfs}    ${server_id}    ${service_instance_id}    ${customer_name}
 
 VFWCL High Test
        [Documentation]    Test Control Loop for High Traffic
index dc239a8..64c4a21 100644 (file)
@@ -26,42 +26,30 @@ Library         ONAPLibrary.JSON
 Library         ONAPLibrary.ServiceMapping    WITH NAME    ServiceMapping
 
 
-
-*** Variables ***
-
-#**************** TEST CASE VARIABLES **************************
-${CUSTOMER_NAME}
-${STACK_NAME}
-${STACK_NAMES}
-${SERVICE_INSTANCE_ID}
-
 *** Keywords ***
 Orchestrate VNF Template
-    [Teardown]         Teardown VNF
     [Documentation]   Use openECOMP to Orchestrate a service.
     [Arguments]    ${customer_name}    ${service}    ${product_family}    ${delete_flag}=DELETE
     ${tenant_id}    ${tenant_name}=    Setup Orchestrate VNF    ${GLOBAL_AAI_CLOUD_OWNER}    SharedNode    OwnerType    v1    CloudZone
-    ${vf_module_name_list}   ${generic_vnfs}    ${server_id}=    Orchestrate VNF   ${customer_name}    ${service}    ${product_family}    ${tenant_id}    ${tenant_name}
-    Run Keyword If   '${delete_flag}' == 'DELETE'   Delete VNF    ${tenant_name}    ${server_id}
+    ${uuid}=    Generate UUID4
+    ${vf_module_name_list}   ${generic_vnfs}    ${server_id}   ${service_instance_id}=    Orchestrate VNF   ${customer_name}_${uuid}    ${service}    ${product_family}    ${tenant_id}    ${tenant_name}
+    Run Keyword If   '${delete_flag}' == 'DELETE'   Delete VNF    ${tenant_name}    ${server_id}    ${customer_name}_${uuid}    ${service_instance_id}    ${vf_module_name_list}
+    [Teardown]         Teardown VNF    ${customer_name}_${uuid}
 
 Orchestrate VNF
     [Documentation]   Use openECOMP to Orchestrate a service.
     [Arguments]    ${customer_name}    ${service}    ${product_family}    ${tenant_id}    ${tenant_name}    ${project_name}=Project-Demonstration   ${owning_entity}=OE-Demonstration
     ${lcp_region}=   Get Openstack Region
     ${uuid}=    Generate UUID4
-    Set Test Variable    ${CUSTOMER_NAME}    ${customer_name}_${uuid}
-    ${list}=    Create List
-    Set Test Variable    ${STACK_NAMES}   ${list}
     ${service_name}=    Catenate    Service_Ete_Name${uuid}
     ${service_type}=    Set Variable    ${service}
     ${service_model_type}     ${vnf_type}    ${vf_modules}   ${catalog_resources}=    Model Distribution For Directory    ${service}
     Set Suite Variable    ${SUITE_SERVICE_MODEL_NAME}   ${service_model_type}
     ${server_id}=     Run Keyword If   '${service}' == 'vVG'    Create VVG Server    ${uuid}
-    Create Customer For VNF    ${CUSTOMER_NAME}    ${CUSTOMER_NAME}    INFRA    ${service_type}    ${GLOBAL_AAI_CLOUD_OWNER}    ${tenant_id}
+    Create Customer For VNF    ${customer_name}    ${customer_name}    INFRA    ${service_type}    ${GLOBAL_AAI_CLOUD_OWNER}    ${tenant_id}
     Setup Browser
     Login To VID GUI
     ${service_instance_id}=   Wait Until Keyword Succeeds    300s   5s    Create VID Service Instance    ${customer_name}    ${service_model_type}    ${service}     ${service_name}   ${project_name}   ${owning_entity}
-    Set Test Variable   ${SERVICE_INSTANCE_ID}   ${service_instance_id}
     Validate Service Instance    ${service_instance_id}    ${service}      ${customer_name}
     ServiceMapping.Set Directory    default    ./demo/service_mapping
     ${vnflist}=    ServiceMapping.Get Service Vnf Mapping    default    ${service}
@@ -76,18 +64,16 @@ Orchestrate VNF
     \   ${vnf_name_index}=   Evaluate   ${vnf_name_index} + 1
     \   ${vnf_type}=   Get VNF Type   ${catalog_resources}   ${vnf}    ${service}
     \   ${vf_module}=    Get VF Module    ${catalog_resources}   ${vnf}    ${service}
-    \   Append To List   ${STACK_NAMES}   ${vf_module_name}
-    \   Wait Until Keyword Succeeds    300s   5s    Create VID VNF    ${service_instance_id}    ${vnf_name}    ${product_family}    ${lcp_region}    ${tenant_name}    ${vnf_type}   ${CUSTOMER_NAME}
+    \   Wait Until Keyword Succeeds    300s   5s    Create VID VNF    ${service_instance_id}    ${vnf_name}    ${product_family}    ${lcp_region}    ${tenant_name}    ${vnf_type}   ${customer_name}
     \   ${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_name}     ${vf_module_type}   ${CUSTOMER_NAME}   ${vnf_name}
+    \   ${vf_module_id}=   Create VID VNF module    ${service_instance_id}    ${vf_module_name}    ${lcp_region}    ${tenant_name}     ${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}
-    \   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
+    \   Execute Heatbridge    ${vf_module_name}    ${vnf}  ipv4_oam_interface
     \   Validate VF Module      ${vf_module_name}    ${vnf}
     \   Append To List   ${vf_module_name_list}    ${vf_module_name}
-    [Return]     ${vf_module_name_list}   ${generic_vnfs}    ${server_id}
+    [Return]     ${vf_module_name_list}   ${generic_vnfs}    ${server_id}    ${service_instance_id}
 
 
 Orchestrate Demo VNF
@@ -99,18 +85,17 @@ Orchestrate Demo VNF
     ...                      '${service}'=='vLB'       demoVLB
     ${lcp_region}=   Get Openstack Region
     ${uuid}=    Generate UUID4
-    Set Test Variable    ${CUSTOMER_NAME}    ${customer_name}_${uuid}
+    ${full_customer_name}=    Catenate    ${customer_name}_${uuid}
     ${list}=    Create List
-    Set Test Variable    ${STACK_NAMES}   ${list}
+    ${vf_module_name_list}=    Create List
     ${service_name}=    Catenate    Service_Ete_Name${uuid}
     ${service_type}=    Set Variable    ${service}
     ${vnf_json_resources}=   Get SDC Demo Vnf Catalog Resource      ${service_model_type}
     Set Suite Variable    ${SUITE_SERVICE_MODEL_NAME}   ${service_model_type}
-    Create Customer For VNF    ${CUSTOMER_NAME}    ${CUSTOMER_NAME}    INFRA    ${service_type}    ${GLOBAL_AAI_CLOUD_OWNER}    ${tenant_id}
+    Create Customer For VNF    ${full_customer_name}    ${full_customer_name}    INFRA    ${service_type}    ${GLOBAL_AAI_CLOUD_OWNER}    ${tenant_id}
     Setup Browser
     Login To VID GUI
     ${service_instance_id}=   Wait Until Keyword Succeeds    300s   5s    Create VID Service Instance    ${customer_name}    ${service_model_type}    ${service}     ${service_name}   ${project_name}   ${owning_entity}
-    Set Test Variable   ${SERVICE_INSTANCE_ID}   ${service_instance_id}
     Validate Service Instance    ${service_instance_id}    ${service}      ${customer_name}
     ServiceMapping.Set Directory    default    ./demo/service_mapping
     ${vnflist}=    ServiceMapping.Get Service Vnf Mapping    default    ${service}
@@ -120,18 +105,17 @@ Orchestrate Demo VNF
     \   ${vf_module_name}=    Catenate    Vfmodule_Demo_${vnf}_${uuid}
     \   ${vnf_type}=    Set Variable  ${vnf_json_resources['${vnf}']['vnf_type']}
     \   ${vf_module}=   Set Variable  ${vnf_json_resources['${vnf}']['vf_module']}
-    \   Append To List   ${STACK_NAMES}   ${vf_module_name}
-    \   Wait Until Keyword Succeeds    300s   5s    Create VID VNF    ${service_instance_id}    ${vnf_name}    ${product_family}    ${lcp_region}    ${tenant_name}    ${vnf_type}   ${CUSTOMER_NAME}
+    \   Wait Until Keyword Succeeds    300s   5s    Create VID VNF    ${service_instance_id}    ${vnf_name}    ${product_family}    ${lcp_region}    ${tenant_name}    ${vnf_type}   ${full_customer_name}
     \   ${vf_module_entry}=   Create Dictionary    name=${vf_module}
     \   ${vf_modules}=   Create List    ${vf_module_entry}
     \   ${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_name}     ${vf_module_type}   ${CUSTOMER_NAME}   ${vnf_name}
+    \   ${vf_module_id}=   Create VID VNF module    ${service_instance_id}    ${vf_module_name}    ${lcp_region}    ${tenant_name}     ${vf_module_type}   ${full_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}
-    \   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
+    \   Execute Heatbridge    ${vf_module_name}    ${vnf}  ipv4_oam_interface
     \   Validate VF Module      ${vf_module_name}    ${vnf}
+    \   Append To List   ${vf_module_name_list}   ${vf_module_name}
     [Return]     ${vf_module_name}    ${service}    ${generic_vnfs}
 
 
@@ -216,19 +200,19 @@ Create VVG Server
 
 Delete VNF
     [Documentation]    Called at the end of a test case to tear down the VNF created by Orchestrate VNF
-    [Arguments]    ${tenant_name}    ${server_id}
+    [Arguments]    ${tenant_name}    ${server_id}    ${customer_name}    ${service_instance_id}    ${vf_module_name_list}
     ${lcp_region}=   Get Openstack Region
     ${list}=    Create List
     # remove duplicates, sort vFW-> vPKG , revers to get vPKG > vFWSNK
     ${sorted_stack_names}=    Create List
-    ${sorted_stack_names}=  Remove Duplicates   ${STACK_NAMES}
+    ${sorted_stack_names}=  Remove Duplicates   ${vf_module_name_list}
     Sort List   ${sorted_stack_names}
     Reverse List   ${sorted_stack_names}
     :FOR   ${stack}   IN   @{sorted_stack_names}
     \     ${keypair_name}=    Get Stack Keypairs   ${stack}
     \     Append To List   ${list}   ${keypair_name}
     Teardown VVG Server    ${server_id}
-    Run Keyword and Ignore Error   Teardown VID   ${SERVICE_INSTANCE_ID}   ${lcp_region}   ${tenant_name}   ${CUSTOMER_NAME}
+    Run Keyword and Ignore Error   Teardown VID   ${service_instance_id}   ${lcp_region}   ${tenant_name}   ${customer_name}
     #
     :FOR   ${stack}   IN   @{sorted_stack_names}
     \    Run Keyword and Ignore Error    Teardown Stack    ${stack}
@@ -241,8 +225,9 @@ Delete VNF
 
 Teardown VNF
     [Documentation]    Called at the end of a test case to tear down the VNF created by Orchestrate VNF
+    [Arguments]    ${customer_name}
     Run Keyword If   '${TEST STATUS}' == 'PASS'   Teardown Model Distribution
-    Run Keyword If   '${TEST STATUS}' == 'PASS'   Clean A&AI Inventory
+    Run Keyword If   '${TEST STATUS}' == 'PASS'   Clean A&AI Inventory    ${customer_name}
     Close All Browsers
     Log    Teardown VNF implemented for successful tests only
 
@@ -286,4 +271,5 @@ Teardown Stack
 
 Clean A&AI Inventory
     [Documentation]    Clean up Tenant in A&AI, Create Customer, Create Service and related relationships
-    Delete Customer    ${CUSTOMER_NAME}
+    [Arguments]   ${customer_name}
+    Delete Customer    ${customer_name}
index 34a1be8..ec746ff 100644 (file)
@@ -37,29 +37,18 @@ ${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
-*** Variables ***
-
-#**************** TEST CASE VARIABLES **************************
-${CUSTOMER_NAME}
-${STACK_NAME}
-${STACK_NAMES}
-${SERVICE_INSTANCE_ID}
 
 *** Keywords ***
 Orchestrate VNF With CDS Template
     [Documentation]   Use openECOMP to Orchestrate a service.
-    [Arguments]    ${customer_name}    ${service}    ${product_family}
-    Orchestrate VNF With CDS   ${customer_name}    ${service}    ${product_family}
+    [Arguments]    ${customer_name}    ${service_instance_name}    ${product_family}
+    ${uuid}=    Generate UUID4
+    Orchestrate VNF With CDS   ${customer_name}_${uuid}    ${service_instance_name}${uuid}    ${product_family}
 
 Orchestrate VNF With CDS
     [Documentation]   Use openECOMP to Orchestrate a service.
-    [Arguments]    ${customer_name}    ${service}    ${product_family}    ${project_name}=Project-Demonstration   ${owning_entity}=OE-Demonstration
+    [Arguments]    ${customer_name}    ${service_instance_name}    ${product_family}    ${project_name}=Project-Demonstration   ${owning_entity}=OE-Demonstration
     ${lcp_region}=   Get Openstack Region
-    ${uuid}=    Generate UUID4
-    Set Test Variable    ${CUSTOMER_NAME}    ${customer_name}_${uuid}
-    ${list}=    Create List
-    Set Test Variable    ${STACK_NAMES}   ${list}
-    ${service_instance_name}=    Catenate    Service_Ete_Name${uuid}
     ${dict}=  Create Dictionary
     Set To Dictionary  ${dict}   service_instance_name=${service_instance_name}
 
@@ -77,7 +66,6 @@ Orchestrate VNF With CDS
     Set To Dictionary   ${dict}   cloud_region=${envjson['cloud_region']}
     Set To Dictionary   ${dict}   tenant_id=${envjson['tenant_id']}
 
-    ${list}=           Create List
     ${vnfs}=   Get From Dictionary    ${jsondata['topology_template']}   node_templates
     ${keys}=   Get Dictionary Keys    ${vnfs}
     Create Environment    cds    ${GLOBAL_TEMPLATE_FOLDER}
index 458cae2..45ea899 100644 (file)
@@ -52,7 +52,7 @@ Wait For Model
     Wait Until Element Is Visible    xpath=//tr[td/span/text() = '${service_model_type}']/td/button[contains(text(),'Deploy')]    ${GLOBAL_VID_UI_TIMEOUT_SHORT}
 
 Delete Service Instance By GUI
-    [Arguments]    ${service_instance_id}    ${customer_name}
+    [Arguments]    ${service_instance_id}
     Click On Element When Visible    xpath=//a/span[@class='glyphicon glyphicon-remove']
     Click On Button When Enabled    xpath=//div[@class='buttonRow']/button[@ngx-enabled='true']
     Wait Until Element Contains    xpath=//div[@ng-controller='deletionDialogController']//div[@ng-controller= 'msoCommitController']/pre[@class = 'log ng-binding']   requestId    timeout=${GLOBAL_VID_UI_TIMEOUT_LONG}
@@ -62,7 +62,7 @@ Delete Service Instance By GUI
 
 
 Search Service Instance
-    [Arguments]    ${service_instance_id}    ${customer_name}
+    [Arguments]    ${service_instance_id}
     Click Link       xpath=//div[@heading = 'Search for Existing Service Instances']/a
     Input Text When Enabled    //input[@name='selectedServiceInstance']    ${service_instance_id}
     Click On Button When Enabled    //button[text() = 'Submit']
index 2deef67..29af914 100644 (file)
@@ -79,7 +79,7 @@ Select From List When Enabled
     [Arguments]     ${xpath}    ${value}    ${timeout}=${GLOBAL_VID_UI_TIMEOUT_MEDIUM}
     Wait Until Page Contains Element    xpath=${xpath}    ${timeout}
     Wait Until Element Is Enabled    xpath=${xpath}    ${timeout}
-    Select From List     xpath=${xpath}    ${value}
+    Select From List By Value     xpath=${xpath}    ${value}
 
 Input Text When Enabled
     [Arguments]     ${xpath}    ${value}    ${timeout}=${GLOBAL_VID_UI_TIMEOUT_MEDIUM}
index 640edb4..6b30e69 100644 (file)
@@ -7,6 +7,6 @@ Resource         ../resources/test_templates/vnf_orchestration_with_cds_test_tem
 Test Template         Orchestrate VNF With CDS Template
 
 *** Test Cases ***              CUSTOMER           SERVICE   PRODUCT_FAMILY
-Instantiate Virtual vFW With CDS           ETE_Customer    vFW      vFW
+Instantiate Virtual vFW With CDS           ETE_Customer    Service_Ete_Name      vFW
     [Tags]    cds
 
index 2a089cd..c2d3d3d 100644 (file)
@@ -3,8 +3,6 @@ Documentation     Closed Loop Test cases
 
 Resource    ../resources/test_templates/closedloop_test_template.robot
 
-Test Teardown    Teardown Closed Loop
-
 *** Variables ***
 ${PACKET_GENERATOR_HOST}
 
@@ -23,4 +21,5 @@ VFWCL Closed Loop Test
     Log     ${EMPTY}
     VFWCL High Test   ${PACKET_GENERATOR_HOST}
     VFWCL Low Test   ${PACKET_GENERATOR_HOST}
-    [Teardown]    VFWCL Set To Medium    ${PACKET_GENERATOR_HOST}
+    VFWCL Set To Medium    ${PACKET_GENERATOR_HOST}
+    [Teardown]    Teardown Closed Loop   ${None}
index 5f03772..c9d6219 100644 (file)
@@ -12,12 +12,15 @@ ${VNF_NAME}       DemoVNF
 ${MODULE_NAME}    DemoModuleName
 
 ${HB_STACK}
-${HB_SERVICE_INSTANCE_ID}
 ${HB_SERVICE}
 ${HB_IPV4_OAM_ADDRESS}
 ${TENANT_NAME}
 ${VVG_SERVER_ID}
 ${SERVICE}
+${CUSTOMER_NAME}
+${SERVICE_INSTANCE_ID}
+${STACK_NAMES}
+
 
 *** Test Cases ***
 Initialize Customer And Models
@@ -39,7 +42,7 @@ Initialize Models
 
 Preload VNF
     [Tags]   PreloadDemo
-    Preload User Model   ${VNF_NAME}   ${MODULE_NAME}    ${SERVICE}
+    Preload User Model   ${VNF_NAME}   ${MODULE_NAME}    ${SERVICE}    ${SERVICE_INSTANCE_ID}
 
 Create APPC Mount Point
     [Tags]   APPCMountPointDemo
@@ -68,14 +71,14 @@ Delete Instantiated VNF
     [Tags]   deleteVNF
     Setup Browser
     Login To VID GUI
-    Delete VNF    ${TENANT_NAME}    ${VVG_SERVER_ID}
-    [Teardown]   Teardown VNF
+    Delete VNF    ${TENANT_NAME}    ${VVG_SERVER_ID}    ${CUSTOMER_NAME}    ${SERVICE_INSTANCE_ID}    ${STACK_NAMES}
+    [Teardown]   Teardown VNF    ${CUSTOMER_NAME}
 
 Run Heatbridge
     [Documentation]
     ...    Try to run heatbridge
     [Tags]   heatbridge
-    Execute Heatbridge   ${HB_STACK}   ${HB_SERVICE_INSTANCE_ID}    ${HB_SERVICE}    ${HB_IPV4_OAM_ADDRESS}
+    Execute Heatbridge   ${HB_STACK}   ${HB_SERVICE}    ${HB_IPV4_OAM_ADDRESS}
 
 Preload APPC CDT GUI
     [Documentation]