Automate Onboarding of vCPE:Infra,BNG,GMUX,BRG 48/72948/1
authorBrian Freeman <bf1936@att.com>
Fri, 16 Nov 2018 23:42:21 +0000 (18:42 -0500)
committerBrian Freeman <bf1936@att.com>
Fri, 16 Nov 2018 23:42:29 +0000 (18:42 -0500)
Issue-ID: INT-601
Change-Id: If39cab716749e5dfe6abcce2f468366fca0bf849
Signed-off-by: Brian Freeman <bf1936@att.com>
robot/assets/service_mappings.py
robot/assets/templates/asdc/resource_instance.template
robot/resources/asdc_interface.robot
robot/resources/demo_preload.robot
robot/resources/test_templates/model_test_template.robot

index b1ed2d8..7a4a6f2 100644 (file)
@@ -7,6 +7,11 @@ GLOBAL_SERVICE_FOLDER_MAPPING = {"vFW" : ['vFW'], \
                                  "vCPE" : ['vCPE/infra', 'vCPE/vbng', 'vCPE/vbrgemu', 'vCPE/vgmux', 'vCPE/vgw'],
                                  "vFWCL" : ['vFWCL/vFWSNK', 'vFWCL/vPKG'],
                                  "vFWNG" : ['vFW_NextGen/templates'],
+                                 "vCPEInfra" : ['vCPE/infra'],
+                                 "vCPEvBNG" : ['vCPE/vbng'],
+                                 "vCPEvBRGEMU" : ['vCPE/vbrgemu'],
+                                 "vCPEvGMUX" : ['vCPE/vgmux'],
+                                 "vCPEvGW" : ['vCPE/vgw'],
                                  }
 
 '''
@@ -19,9 +24,34 @@ GLOBAL_SERVICE_VNF_MAPPING = {
     "vCPE" : ['vCPE'],
     "vFWCL"  : ['vFWSNK', 'vPKG'],
     "vFWNG"  : ['vFWNG'],
+    "vCPEInfra" : ['vCPEInfra'],
+    "vCPEvBNG" : ['vCPEvBNG'],
+    "vCPEvBRGEMU" : ['vCPEvBRGEMU'],
+    "vCPEvGMUX" : ['vCPEvGMUX'],
+    "vCPEvGW" : ['vCPEvGW'],
                                  }
 
 '''
+
+Map the service to the list of Generic Neutron Networks to be orchestrated
+
+'''
+GLOBAL_SERVICE_GEN_NEUTRON_NETWORK_MAPPING = {
+    "vCPEInfra" : ['CPE_SIGNAL','CPE_PUBLIC'],
+    "vCPEvBNG" : ['BRG_BNG', 'BNG_MUX'],
+    "vCPEvGMUX" : ['MUX_GW'],
+    "vCPEvBRGEMU" :[],
+    "vCPEvGW" :[],
+    "vFW" :[],
+    "vLB" :[],
+    "vVG" :[],
+    "vFWCL" :[],
+    "vFWNG" :[],
+}
+'''
+
+
+
 This metadata identifes the preloads that need to be done for a VNF as there may be more than one (vLB)
 "template" maps to the parameters in the preload_paramenters.py
   - GLOBAL_PRELOAD_PARAMETERS[<testcase>][<template>] -
@@ -37,6 +67,11 @@ GLOBAL_SERVICE_TEMPLATE_MAPPING = {
     "vPKG"   : [{"isBase" : "true",  "template" : "vpkg_preload.template", "name_pattern": "base_vpkg"}],
     "vFWCL"   : [{"isBase" : "true",   "template" : "vfwsnk_preload.template", "name_pattern": "base_vfw"},
                  {"isBase" : "true",  "template" : "vpkg_preload.template", "name_pattern": "base_vpkg"}],
+    "vCPEInfra" : [{"isBase" : "true",  "template" : "vcpe_infra_preload.template", "name_pattern": "base_infra"}],
+    "vCPEvBNG" : [{"isBase" : "true",  "template" : "vcpe_vbng_preload.template", "name_pattern": "base_vbng"}],
+    "vCPEvBRGEMU" : [{"isBase" : "true",  "template" : "vcpe_vbrgemu_preload.template", "name_pattern": "base_vbrgemu"}],
+    "vCPEvGMUX" : [{"isBase" : "true",  "template" : "vcpe_vgmux_preload.template", "name_pattern": "base_vgmux"}],
+    "vCPEvGW" : [{"isBase" : "true",  "template" : "vcpe_vgw_preload.template", "name_pattern": "base_vgw"}],
 }
 
 '''
@@ -54,3 +89,4 @@ GLOBAL_VALIDATE_NAME_MAPPING = {"vFW" : 'vfw_name_0',
                                  "vFWSNK" : 'vfw_name_0',
                                  "vPKG" : 'vpg_name_0',
                                  }
+
index 215f828..d42f20c 100644 (file)
@@ -1,10 +1,10 @@
 {
   "uniqueId": "${catalog_resource_id}${milli_timestamp}",
-  "posX": 406,
-  "posY": 248,
+  "posX": ${posX},
+  "posY": ${posY},
   "name": "${catalog_resource_name}",
   "componentVersion": "1.0",
   "originType": "VF",
   "icon": "defaulticon",
   "componentUid": "${catalog_resource_id}"
-}
\ No newline at end of file
+}
index e339a26..e5126a1 100644 (file)
@@ -24,9 +24,11 @@ ${ASDC_VENDOR_LICENSE_AGREEMENT_PATH}    /license-agreements
 ${ASDC_VENDOR_ACTIONS_PATH}    /actions
 ${ASDC_VENDOR_SOFTWARE_UPLOAD_PATH}    /orchestration-template-candidate
 ${ASDC_FE_CATALOG_RESOURCES_PATH}    /sdc1/feProxy/rest/v1/catalog/resources
+${ASDC_FE_CATALOG_SERVICES_PATH}    /sdc1/feProxy/rest/v1/catalog/services
 ${ASDC_CATALOG_RESOURCES_PATH}    /sdc2/rest/v1/catalog/resources
 ${ASDC_CATALOG_SERVICES_PATH}    /sdc2/rest/v1/catalog/services
 ${ASDC_CATALOG_INACTIVE_RESOURCES_PATH}    /sdc2/rest/v1/inactiveComponents/resource
+${ASDC_CATALOG_RESOURCES_QUERY_PATH}    /sdc2/rest/v1/catalog/resources/resourceName
 ${ASDC_CATALOG_INACTIVE_SERVICES_PATH}    /sdc2/rest/v1/inactiveComponents/service
 ${ASDC_CATALOG_LIFECYCLE_PATH}    /lifecycleState
 ${ASDC_CATALOG_SERVICE_RESOURCE_INSTANCE_PATH}    /resourceInstance
@@ -47,6 +49,7 @@ ${ASDC_CATALOG_SERVICE_TEMPLATE}    robot/assets/templates/asdc/catalog_service.
 ${ASDC_RESOURCE_INSTANCE_TEMPLATE}    robot/assets/templates/asdc/resource_instance.template
 ${ASDC_RESOURCE_INSTANCE_VNF_PROPERTIES_TEMPLATE}    robot/assets/templates/asdc/catalog_vnf_properties.template
 ${ASDC_RESOURCE_INSTANCE_VNF_INPUTS_TEMPLATE}    robot/assets/templates/asdc/catalog_vnf_inputs.template
+${SDC_CATALOG_NET_RESOURCE_INPUT_TEMPLATE}    robot/assets/templates/asdc/catalog_net_input_properties.template
 ${ASDC_FE_ENDPOINT}     ${GLOBAL_ASDC_SERVER_PROTOCOL}://${GLOBAL_INJECTED_SDC_FE_IP_ADDR}:${GLOBAL_ASDC_FE_PORT}
 ${ASDC_BE_ENDPOINT}     ${GLOBAL_ASDC_SERVER_PROTOCOL}://${GLOBAL_INJECTED_SDC_BE_IP_ADDR}:${GLOBAL_ASDC_BE_PORT}
 ${ASDC_BE_ONBOARD_ENDPOINT}     ${GLOBAL_ASDC_SERVER_PROTOCOL}://${GLOBAL_INJECTED_SDC_BE_ONBOARD_IP_ADDR}:${GLOBAL_ASDC_BE_ONBOARD_PORT}
@@ -54,7 +57,9 @@ ${ASDC_BE_ONBOARD_ENDPOINT}     ${GLOBAL_ASDC_SERVER_PROTOCOL}://${GLOBAL_INJECT
 *** Keywords ***
 Distribute Model From ASDC
     [Documentation]    goes end to end creating all the asdc objects based ona  model and distributing it to the systems. it then returns the service name, vf name and vf module name
-    [Arguments]    ${model_zip_path}   ${catalog_service_name}=    ${cds}=
+    [Arguments]    ${model_zip_path}   ${catalog_service_name}=    ${cds}=    ${service}=
+    #${random}=    Get Current Date
+    #${catalog_service_id}=    Add ASDC Catalog Service    ${catalog_service_name}_${random}
     ${catalog_service_id}=    Add ASDC Catalog Service    ${catalog_service_name}
     ${catalog_resource_ids}=    Create List
     ${catalog_resources}=   Create Dictionary
@@ -64,6 +69,25 @@ Distribute Model From ASDC
     \    ${loop_catalog_resource_resp}=    Get ASDC Catalog Resource    ${loop_catalog_resource_id}
     \    Add ASDC Resource Instance    ${catalog_service_id}    ${loop_catalog_resource_id}    ${loop_catalog_resource_resp['name']}
     \    Set To Dictionary    ${catalog_resources}   ${loop_catalog_resource_id}=${loop_catalog_resource_resp}
+    #
+    # do this here because the loop_catalog_resource_resp is different format after adding networks
+    ${vf_module}=   Find Element In Array    ${loop_catalog_resource_resp['groups']}    type    org.openecomp.groups.VfModule
+    #
+    #  do network
+    ${networklist}=   Get From Dictionary    ${GLOBAL_SERVICE_GEN_NEUTRON_NETWORK_MAPPING}    ${service}
+    ${xoffset}=    Set Variable    ${100}
+    ${generic_neutron_net_uuid}=   Get Generic NeutronNet UUID
+    :FOR   ${network}   in   @{networklist}
+    \    ${loop_catalog_resource_id}=   Set Variable    ${generic_neutron_net_uuid}
+    \    Append To List    ${catalog_resource_ids}   ${loop_catalog_resource_id}
+    \    ${loop_catalog_resource_resp}=    Get ASDC Catalog Resource    ${loop_catalog_resource_id}
+    #
+    \    ${loop_catalog_resource_id}=   Add ASDC Resource Instance    ${catalog_service_id}    ${loop_catalog_resource_id}    ${network}    ${xoffset}      ${0}
+    \    ${nf_role}=   Convert To Lowercase   ${network}
+    \    Setup SDC Catalog Resource GenericNeutronNet Properties      ${catalog_service_id}    ${nf_role}   ${loop_catalog_resource_id}
+    \    ${xoffset}=   Set Variable   ${xoffset+100}
+    \    Set To Dictionary    ${catalog_resources}   ${loop_catalog_resource_id}=${loop_catalog_resource_resp}
+    #
     ${catalog_service_resp}=    Get ASDC Catalog Service    ${catalog_service_id}
     Checkin ASDC Catalog Service    ${catalog_service_id}
     Request Certify ASDC Catalog Service    ${catalog_service_id}
@@ -75,12 +99,19 @@ Distribute Model From ASDC
         \   Log     Distribution Attempt ${DIST_INDEX}
         \   Distribute ASDC Catalog Service    ${catalog_service_id}
         \   ${catalog_service_resp}=    Get ASDC Catalog Service    ${catalog_service_id}
-        \   ${vf_module}=    Find Element In Array    ${loop_catalog_resource_resp['groups']}    type    org.openecomp.groups.VfModule
         \   ${status}   ${_} =   Run Keyword And Ignore Error   Loop Over Check Catalog Service Distributed       ${catalog_service_resp['uuid']}
        \   Exit For Loop If   '${status}'=='PASS'
         Should Be Equal As Strings  ${status}  PASS
     [Return]    ${catalog_service_resp['name']}    ${loop_catalog_resource_resp['name']}    ${vf_module}   ${catalog_resource_ids}    ${catalog_service_id}   ${catalog_resources}
 
+
+Get Generic NeutronNet UUID
+   [Documentation]   Lookoup the UUID of the Generic NeutronNetwork Resource
+   # http://137.117.87.170:30205/sdc2/rest/v1/catalog/resources/resourceName/Generic%20NeutronNet/resourceVersion/1.0
+   #  411edcfd-c290-41dc-bd2c-5600f9f0af05
+   ${resp}=    Run ASDC Get Request    ${ASDC_CATALOG_RESOURCES_QUERY_PATH}/Generic%20NeutronNet/resourceVersion/1.0   ${ASDC_DESIGNER_USER_ID}   ${ASDC_BE_ENDPOINT}
+   [Return]    ${resp.json()['allVersions']['1.0']}
+
 Loop Over Check Catalog Service Distributed
     [Arguments]    ${catalog_service_id}
     # SO watchdog timeout is 300 seconds need buffer
@@ -114,6 +145,39 @@ Setup ASDC Catalog Resource
     
     ${catalog_resource_id}=   Certify ASDC Catalog Resource    ${catalog_resource_id}  ${ASDC_DESIGNER_USER_ID}
     [Return]    ${catalog_resource_id}
+
+Setup SDC Catalog Resource GenericNeutronNet Properties
+    [Documentation]    Set up GenericNeutronNet properties and inputs 
+    [Arguments]    ${catalog_service_id}    ${nf_role}    ${catalog_parent_service_id}
+    # Set component instances properties 
+    ${resp}=    Get ASDC Catalog Resource Component Instances Properties  ${catalog_service_id}
+    #${resp}=    Get ASDC Catalog Resource Component Instances    ${catalog_service_id}
+    ${componentInstances}  Set Variable   @{resp['componentInstancesProperties']}
+    # componentInstances can have 1 or more than 1 entry
+    ${passed}=    Run Keyword And Return Status   Evaluate    type(${componentInstances})
+    ${type}=      Run Keyword If     ${passed}    Evaluate    type(${componentInstances})
+    ${componentInstancesList}=    Run Keyword If   "${type}"!="<type 'list'>"    Create List  ${componentInstances}
+    ...    ELSE   Set Variable    ${componentInstances}
+    :FOR   ${item}  IN   @{componentInstancesList}
+    \    ${test}    ${v}=    Run Keyword and Ignore Error    Should Contain    ${item}     ${nf_role}
+    \    Run Keyword If    '${test}' == 'FAIL'    Continue For Loop
+    \    ${componentInstance1}=   Set Variable    ${item}
+    :FOR    ${comp}    IN    @{resp['componentInstancesProperties']["${componentInstance1}"]}
+    \    ${name}    Set Variable   ${comp['name']}
+    \    ${test}    ${v}=    Run Keyword and Ignore Error    Should Contain    ${name}    network_role
+    \    Run Keyword If    '${test}' == 'FAIL'    Continue For Loop
+    \    ${description}    Set Variable    ${comp['description']}
+    \    ${description}=    Replace String    ${description}    ${\n}   \
+    \    ${uniqueId}    Set Variable    ${comp['uniqueId']}
+    \    ${parentUniqueId}    Set Variable    ${comp['parentUniqueId']}
+    \    ${ownerId}    Set Variable    ${comp['ownerId']}
+    \    ${dict}=    Create Dictionary    parentUniqueId=${parentUniqueId}   ownerId=${ownerId}  uniqueId=${uniqueId}    description=${description}
+    \    Run Keyword If   '${name}'=='network_role'   Set To Dictionary    ${dict}    name=${name}    value=${nf_role}
+    \    ${data}=   Fill JSON Template File    ${SDC_CATALOG_NET_RESOURCE_INPUT_TEMPLATE}    ${dict} 
+    \    ${response}=    Set ASDC Catalog Resource Component Instance Properties    ${catalog_parent_service_id}    ${catalog_service_id}    ${data}
+    #\    Log To Console    resp=${response}
+    [Return]
+
 Setup ASDC Catalog Resource CDS Properties
     [Documentation]    Set up vfwng VNF properties and inputs for CDS
     [Arguments]    ${catalog_resource_id} 
@@ -313,16 +377,26 @@ Get ASDC Catalog Resource
     [Arguments]    ${catalog_resource_id}
     ${resp}=    Run ASDC Get Request    ${ASDC_CATALOG_RESOURCES_PATH}/${catalog_resource_id}    ${ASDC_DESIGNER_USER_ID} 
     [Return]    ${resp.json()}
+
 Get ASDC Catalog Resource Component Instances
     [Documentation]    gets asdc Catalog Resource Component Instances by its id
     [Arguments]    ${catalog_resource_id}
     ${resp}=    Run ASDC Get Request    ${ASDC_FE_CATALOG_RESOURCES_PATH}/${catalog_resource_id}/filteredDataByParams?include=componentInstances    ${ASDC_DESIGNER_USER_ID}    ${ASDC_FE_ENDPOINT}
     [Return]    ${resp.json()}
+Get ASDC Catalog Resource Component Instances Properties
+    [Documentation]    gets asdc Catalog Resource Component Instances Properties by its id
+    [Arguments]    ${catalog_resource_id}
+    #${resp}=    Run ASDC Get Request    ${ASDC_FE_CATALOG_RESOURCES_PATH}/${catalog_resource_id}/filteredDataByParams?include=componentInstancesProperties    ${ASDC_DESIGNER_USER_ID}    ${ASDC_FE_ENDPOINT}
+    ${resp}=    Run ASDC Get Request    ${ASDC_CATALOG_SERVICES_PATH}/${catalog_resource_id}/filteredDataByParams?include=componentInstancesProperties    ${ASDC_DESIGNER_USER_ID}    ${ASDC_BE_ENDPOINT}
+    [Return]    ${resp.json()}
+
+
 Get ASDC Catalog Resource Inputs
     [Documentation]    gets asdc Catalog Inputs by its id
     [Arguments]    ${catalog_resource_id}
     ${resp}=    Run ASDC Get Request    ${ASDC_FE_CATALOG_RESOURCES_PATH}/${catalog_resource_id}/filteredDataByParams?include=inputs    ${ASDC_DESIGNER_USER_ID}    ${ASDC_FE_ENDPOINT}
     [Return]    ${resp.json()}
+
 Get ASDC Catalog Resource Component Instance Properties
     [Documentation]    gets an asdc Catalog Resource properties by its id
     [Arguments]    ${catalog_resource_id}    ${component_instance_id}    ${component_id}
@@ -330,9 +404,11 @@ Get ASDC Catalog Resource Component Instance Properties
     [Return]    ${resp.json()}
 Set ASDC Catalog Resource Component Instance Properties
     [Documentation]    sets an asdc Catalog Resource by its id
-    [Arguments]    ${catalog_resource_id}    ${component_instance_id}    ${data}
-    ${resp}=    Run ASDC Post Request    ${ASDC_FE_CATALOG_RESOURCES_PATH}/${catalog_resource_id}/resourceInstance/${component_instance_id}/inputs    ${data}    ${ASDC_DESIGNER_USER_ID}    ${ASDC_FE_ENDPOINT}
+    [Arguments]    ${catalog_resource_id}    ${component_parent_service_id}    ${data}
+    #${resp}=    Run ASDC Post Request    ${ASDC_FE_CATALOG_RESOURCES_PATH}/${component_parent_service_id}/resourceInstance/${catalog_resource_id}/inputs    ${data}    ${ASDC_DESIGNER_USER_ID}    ${ASDC_FE_ENDPOINT}
+    ${resp}=    Run ASDC Post Request    ${ASDC_FE_CATALOG_SERVICES_PATH}/${component_parent_service_id}/resourceInstance/${catalog_resource_id}/properties    ${data}    ${ASDC_DESIGNER_USER_ID}    ${ASDC_FE_ENDPOINT}
     [Return]    ${resp.json()}
+
 Set ASDC Catalog Resource VNF Inputs
     [Documentation]    sets an asdc Catalog Resource by its id
     [Arguments]    ${catalog_resource_id}    ${data}
@@ -474,13 +550,16 @@ Distribute ASDC Catalog Service
     [Return]    ${resp.json()}
 Add ASDC Resource Instance
     [Documentation]    Creates an asdc Resource Instance and returns its id
-    [Arguments]    ${catalog_service_id}    ${catalog_resource_id}    ${catalog_resource_name}
+    [Arguments]    ${catalog_service_id}    ${catalog_resource_id}    ${catalog_resource_name}  ${xoffset}=${0}   ${yoffset}=${0}
     ${milli_timestamp}=    Generate MilliTimestamp UUID
-    ${map}=    Create Dictionary    catalog_resource_id=${catalog_resource_id}    catalog_resource_name=${catalog_resource_name}    milli_timestamp=${milli_timestamp}
+    ${xoffset}=    Set Variable   ${xoffset+306}
+    ${yoffset}=    Set Variable   ${yoffset+248}
+    ${map}=    Create Dictionary    catalog_resource_id=${catalog_resource_id}    catalog_resource_name=${catalog_resource_name}    milli_timestamp=${milli_timestamp}   posX=${xoffset}    posY=${yoffset}
     ${data}=   Fill JSON Template File    ${ASDC_RESOURCE_INSTANCE_TEMPLATE}    ${map}
     ${resp}=    Run ASDC Post Request    ${ASDC_CATALOG_SERVICES_PATH}/${catalog_service_id}${ASDC_CATALOG_SERVICE_RESOURCE_INSTANCE_PATH}     ${data}    ${ASDC_DESIGNER_USER_ID}
     Should Be Equal As Strings         ${resp.status_code}     201
     [Return]    ${resp.json()['uniqueId']}
+
 Get Catalog Service Distribution
     [Documentation]    gets an asdc catalog Service distrbution
     [Arguments]    ${catalog_service_uuid}
index 41936a0..1fbd57a 100644 (file)
@@ -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}
@@ -55,15 +55,28 @@ Load Customer
     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 
 
 Load Models
     [Documentation]   Use openECOMP to Orchestrate a service.
     [Arguments]    ${customer_name}
     Set Test Variable    ${CUSTOMER_NAME}    ${customer_name}
+    Log To Console   Distibuting vFWCL
     ${status}   ${value}=   Run Keyword And Ignore Error   Distribute Model   vFWCL   ${DEMO_PREFIX}VFWCL
+    Log To Console   Distibuting vLB
     ${status}   ${value}=   Run Keyword And Ignore Error   Distribute Model   vLB   ${DEMO_PREFIX}VLB
-    ${status}   ${value}=   Run Keyword And Ignore Error   Distribute Model   vCPE   ${DEMO_PREFIX}VCPE
+    ##${status}   ${value}=   Run Keyword And Ignore Error   Distribute Model   vCPE   ${DEMO_PREFIX}VCPE
     ##${status}   ${value}=   Run Keyword And Ignore Error   Distribute Model   vIMS   ${DEMO_PREFIX}VIMS
+    Log To Console   Distibuting vCPEInfra
+    ${status}   ${value}=   Run Keyword And Ignore Error   Distribute Model   vCPEInfra   ${DEMO_PREFIX}VCPEInfra
+    Log To Console   Distibuting vCPEvBNG
+    ${status}   ${value}=   Run Keyword And Ignore Error   Distribute Model   vCPEvBNG   ${DEMO_PREFIX}VCPEvBNG
+    Log To Console   Distibuting vCPEvBRGEMU
+    ${status}   ${value}=   Run Keyword And Ignore Error   Distribute Model   vCPEvBRGEMU   ${DEMO_PREFIX}VCPEvBRGEMU 
+    Log To Console   Distibuting vCPEvGMUX
+    ${status}   ${value}=   Run Keyword And Ignore Error   Distribute Model   vCPEvGMUX    ${DEMO_PREFIX}VCPEvGMUX
+    Log To Console   Distibuting vCPEvGW (this is not vCPEResCust service)
+    ${status}   ${value}=   Run Keyword And Ignore Error   Distribute Model   vCPEvGW    ${DEMO_PREFIX}VCPEvGW
 
 Distribute Model
     [Arguments]   ${service}   ${modelName}
@@ -156,16 +169,11 @@ 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}    ${generic_vnfs}=    Orchestrate VNF    DemoCust    ${service}   ${service}    ${TENANT_NAME}
+    ${vf_module_name}    ${service}=    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}
-    # 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}
+    ${model_invariant_id}=  Run MSO Get ModelInvariantId   ${SUITE_SERVICE_MODEL_NAME}  ${vf_module_label}
     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}
@@ -173,16 +181,11 @@ 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}    ${generic_vnfs}=    Orchestrate Demo VNF    Demonstration    ${service}   ${service}    ${TENANT_NAME}
+    ${vf_module_name}    ${service}=    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}
-    # 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}
+    ${model_invariant_id}=  Run MSO Get ModelInvariantId   ${SUITE_SERVICE_MODEL_NAME}  ${vf_module_label}
     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}
index 3fbf7d2..f48b43f 100644 (file)
@@ -36,7 +36,7 @@ Model Distribution For Directory
     \    OperatingSystem.Create Directory    ${ASDC_ASSETS_DIRECTORY}/temp
     \    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 Model From ASDC    ${ziplist}    ${catalog_service_name}    ${cds}
+    ${catalog_service_name}    ${catalog_resource_name}    ${vf_modules}    ${catalog_resource_ids}   ${catalog_service_id}   ${catalog_resources}   Distribute Model From ASDC    ${ziplist}    ${catalog_service_name}    ${cds}   ${service}
     Set Test Variable   ${CATALOG_RESOURCE_IDS}   ${catalog_resource_ids}
     Set Test Variable   ${CATALOG_SERVICE_ID}   ${catalog_service_id}
     Set Test Variable   ${CATALOG_RESOURCES}   ${catalog_resources}