aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrian Freeman <bf1936@att.com>2019-02-13 13:54:48 -0500
committerBrian Freeman <bf1936@att.com>2019-02-13 13:54:55 -0500
commit12ff1844383b99b7b7efa8aae5bef8361bd163b1 (patch)
tree080f055b5ce96422cccf265a5fd5f13b7788d7cb
parent992832a29265fd57bdb3d2cb67f956e38790a498 (diff)
Fix dynamic service_mappin
Issue-ID: INT-883 Change-Id: Ia29b4468eaf68f0352f8dd6c84c382c5431beab2 Signed-off-by: Brian Freeman <bf1936@att.com>
-rw-r--r--robot/assets/service_mappings.py18
-rw-r--r--robot/resources/asdc_interface.robot4
-rw-r--r--robot/resources/sdngc_interface.robot16
3 files changed, 30 insertions, 8 deletions
diff --git a/robot/assets/service_mappings.py b/robot/assets/service_mappings.py
index 1aa9ca58..977d216c 100644
--- a/robot/assets/service_mappings.py
+++ b/robot/assets/service_mappings.py
@@ -27,7 +27,7 @@ GLOBAL_SERVICE_VNF_MAPPING = {
"vLB" : ['vLB'],
"vVG" : ['vVG'],
"vCPE" : ['vCPE'],
- "vFWCL" : ['vFWSNK', 'vPKG'],
+ "vFWCL" : ['vFWCLvFWSNK', 'vFWCLvPKG'],
"vFWNG" : ['vFWNG'],
"vCPEInfra" : ['vCPEInfra'],
"vCPEvBNG" : ['vCPEvBNG'],
@@ -92,6 +92,8 @@ 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"}],
+ "vFWCLvFWSNK" : [{"isBase" : "true", "template" : "vfwsnk_preload.template", "vnf_index": "0", "name_pattern": "base_vfw"}],
+ "vFWCLvPKG" : [{"isBase" : "true", "template" : "vpkg_preload.template", "vnf_index": "1" , "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"}],
@@ -116,6 +118,8 @@ GLOBAL_VALIDATE_NAME_MAPPING = {"vFW" : 'vfw_name_0',
"vCPEvGMUX" : 'vgmux_name_0',
"vFWSNK" : 'vfw_name_0',
"vPKG" : 'vpg_name_0',
+ "vFWCLvFWSNK" : 'vfw_name_0',
+ "vFWCLvPKG" : 'vpg_name_0',
}
@@ -145,11 +149,17 @@ for service in subfolders:
if mapping == 'GLOBAL_SERVICE_GEN_NEUTRON_NETWORK_MAPPING':
GLOBAL_SERVICE_GEN_NEUTRON_NETWORK_MAPPING2[service]=service_mappings[mapping][service]
if mapping == 'GLOBAL_SERVICE_DEPLOYMENT_ARTIFACT_MAPPING':
- GLOBAL_SERVICE_DEPLOYMENT_ARTIFACT_MAPPING2[service]=service_mappings[mapping][service]
+ GLOBAL_SERVICE_DEPLOYMENT_ARTIFACT_MAPPING2[service]=service_mappings[mapping][service]
if mapping == 'GLOBAL_SERVICE_TEMPLATE_MAPPING':
- GLOBAL_SERVICE_TEMPLATE_MAPPING2[service]=service_mappings[mapping][service]
+ # service changes for complex vnf
+ #GLOBAL_SERVICE_TEMPLATE_MAPPING2[service]=service_mappings[mapping][service]
+ for vnftype in service_mappings[mapping]:
+ GLOBAL_SERVICE_TEMPLATE_MAPPING2[vnftype]=service_mappings[mapping][vnftype]
if mapping == 'GLOBAL_VALIDATE_NAME_MAPPING':
- GLOBAL_VALIDATE_NAME_MAPPING2[service]=service_mappings[mapping][service]
+ # service changes for complex vnf
+ #GLOBAL_VALIDATE_NAME_MAPPING2[service]=service_mappings[mapping][service]
+ for vnftype in service_mappings[mapping]:
+ GLOBAL_VALIDATE_NAME_MAPPING2[vnftype]=service_mappings[mapping][vnftype]
# Merge dictionaries
GLOBAL_SERVICE_FOLDER_MAPPING = dict(GLOBAL_SERVICE_FOLDER_MAPPING.items() + GLOBAL_SERVICE_FOLDER_MAPPING2.items())
diff --git a/robot/resources/asdc_interface.robot b/robot/resources/asdc_interface.robot
index f09ddf7b..a044dabd 100644
--- a/robot/resources/asdc_interface.robot
+++ b/robot/resources/asdc_interface.robot
@@ -90,7 +90,8 @@ Distribute Model From ASDC
\ ${loop_catalog_resource_id}= Setup ASDC Catalog Resource ${zip} ${cds}
# zip can be vFW.zip or vFWDT_VFWSNK.zip
\ ${resource_type_match}= Get Regexp Matches ${zip} ${service}_(.*)\.zip 1
- \ ${resource_type_string}= Set Variable If len(${resource_type_match})==0 ${service} ${resource_type_match[0]}
+ # Need to be able to distribute preload for vFWCL vFWSNK and vFWDT vFWSNK to prepend service to vnf_type
+ \ ${resource_type_string}= Set Variable If len(${resource_type_match})==0 ${service} ${service}${resource_type_match[0]}
\ Set To Dictionary ${resource_types} ${resource_type_string} ${loop_catalog_resource_id}
\ Append To List ${catalog_resource_ids} ${loop_catalog_resource_id}
@@ -101,7 +102,6 @@ Distribute Model From ASDC
${xoffset}= Set Variable ${0}
: FOR ${vnf} IN @{vnflist}
- #\ ${catalog_resource_unique_name}= Add ASDC Resource Instance ${catalog_service_id} ${loop_catalog_resource_id} ${loop_catalog_resource_resp['name']}
\ ${loop_catalog_resource_resp}= Get ASDC Catalog Resource ${resource_types['${vnf}']}
\ Set To Dictionary ${catalog_resources} ${resource_types['${vnf}']}=${loop_catalog_resource_resp}
\ ${catalog_resource_unique_name}= Add ASDC Resource Instance ${catalog_service_id} ${resource_types['${vnf}']} ${loop_catalog_resource_resp['name']} ${xoffset}
diff --git a/robot/resources/sdngc_interface.robot b/robot/resources/sdngc_interface.robot
index b311e9bd..7be6e153 100644
--- a/robot/resources/sdngc_interface.robot
+++ b/robot/resources/sdngc_interface.robot
@@ -88,7 +88,11 @@ Preload Vnf
${templates}= Get From Dictionary ${GLOBAL_SERVICE_TEMPLATE_MAPPING} ${service}
:for ${vf_module} in @{vf_modules}
\ ${vf_module_type}= Get From Dictionary ${vf_module} name
- \ ${dict} Get From Mapping ${templates} ${vf_module}
+ # need to pass in vnf_index if non-zero
+ \ ${dict} Run Keyword If "${generic_vnf_name}".endswith('0') Get From Mapping With Index ${templates} ${vf_module} 0
+ \ ... 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}
\ ${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}
@@ -105,6 +109,14 @@ Update Module Name
${name}= Replace String ${vf_module_name} Vfmodule_ ${dict['prefix']}
[Return] ${name}
+Get From Mapping With Index
+ [Documentation] Retrieve the appropriate prelad template entry for the passed vf_module
+ [Arguments] ${templates} ${vf_module} ${vnf_index}=0
+ ${vf_module_name}= Get From DIctionary ${vf_module} name
+ :for ${template} in @{templates}
+ \ Return From Keyword If '${template['name_pattern']}' in '${vf_module_name}' and ('${template['vnf_index']}' == '${vnf_index}') ${template}
+ [Return] None
+
Get From Mapping
[Documentation] Retrieve the appropriate prelad template entry for the passed vf_module
[Arguments] ${templates} ${vf_module}
@@ -237,4 +249,4 @@ Login To SDNGC Admin GUI
Input Password xpath=//input[@id='password'] ${shortened_uuid}
Click Button xpath=//button[@type='submit']
Title Should Be SDN-C AdminPortal
- Log Logged in to ${SDNGC_ADMIN_LOGIN_URL} \ No newline at end of file
+ Log Logged in to ${SDNGC_ADMIN_LOGIN_URL}