blob: 908c54016af759388144f54ec026095792009bef [file] [log] [blame]
import json
import os.path
'''
This metadata identifies the folders to be zipped and uploaded to SDC for model distribution for a given VNF
'''
GLOBAL_SERVICE_FOLDER_MAPPING = {}
'''
Map the service to the list of VNFs to be orchestrated
'''
GLOBAL_SERVICE_VNF_MAPPING = {}
'''
Map the service to the list of Generic Neutron Networks to be orchestrated
'''
GLOBAL_SERVICE_GEN_NEUTRON_NETWORK_MAPPING = {}
'''
Map the service to the list of Deployment Artifacts for Closed Loop Control
'''
GLOBAL_SERVICE_DEPLOYMENT_ARTIFACT_MAPPING = {}
'''
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>] -
i.e. GLOBAL_PRELOAD_PARAMETERS['Demo'][dnsscaling_preload.template']
'''
GLOBAL_SERVICE_TEMPLATE_MAPPING = {}
'''
Used by the Heatbridge Validate Query to A&AI to locate the vserver name
'''
GLOBAL_VALIDATE_NAME_MAPPING = {}
# Create dictionaries for new MAPPING data to join to original MAPPING data
GLOBAL_SERVICE_FOLDER_MAPPING2 = {}
GLOBAL_SERVICE_VNF_MAPPING2 = {}
GLOBAL_SERVICE_GEN_NEUTRON_NETWORK_MAPPING2 = {}
GLOBAL_SERVICE_DEPLOYMENT_ARTIFACT_MAPPING2 = {}
GLOBAL_SERVICE_TEMPLATE_MAPPING2 = {}
GLOBAL_VALIDATE_NAME_MAPPING2 = {}
folder=os.path.join('./demo/service_mapping')
subfolders = [d for d in os.listdir(folder) if os.path.isdir(os.path.join(folder, d))]
for service in subfolders:
filepath=os.path.join('./demo/service_mapping', service, 'service_mapping.json')
with open(filepath, 'r') as f:
service_mappings = json.load(f)
for mapping in service_mappings:
if mapping == 'GLOBAL_SERVICE_FOLDER_MAPPING':
GLOBAL_SERVICE_FOLDER_MAPPING2[service]=service_mappings[mapping][service]
if mapping == 'GLOBAL_SERVICE_VNF_MAPPING':
GLOBAL_SERVICE_VNF_MAPPING2[service]=service_mappings[mapping][service]
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]
if mapping == 'GLOBAL_SERVICE_TEMPLATE_MAPPING':
# 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':
# 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())
GLOBAL_SERVICE_VNF_MAPPING = dict(GLOBAL_SERVICE_VNF_MAPPING.items() + GLOBAL_SERVICE_VNF_MAPPING2.items())
GLOBAL_SERVICE_GEN_NEUTRON_NETWORK_MAPPING = dict(GLOBAL_SERVICE_GEN_NEUTRON_NETWORK_MAPPING.items() + GLOBAL_SERVICE_GEN_NEUTRON_NETWORK_MAPPING2.items())
GLOBAL_SERVICE_DEPLOYMENT_ARTIFACT_MAPPING = dict(GLOBAL_SERVICE_DEPLOYMENT_ARTIFACT_MAPPING.items() + GLOBAL_SERVICE_DEPLOYMENT_ARTIFACT_MAPPING2.items())
GLOBAL_SERVICE_TEMPLATE_MAPPING = dict(GLOBAL_SERVICE_TEMPLATE_MAPPING.items() + GLOBAL_SERVICE_TEMPLATE_MAPPING2.items())
GLOBAL_VALIDATE_NAME_MAPPING = dict(GLOBAL_VALIDATE_NAME_MAPPING.items() + GLOBAL_VALIDATE_NAME_MAPPING2.items())