summaryrefslogtreecommitdiffstats
path: root/robotframework-onap/vcpeutils/preload.py
diff options
context:
space:
mode:
Diffstat (limited to 'robotframework-onap/vcpeutils/preload.py')
-rwxr-xr-xrobotframework-onap/vcpeutils/preload.py121
1 files changed, 0 insertions, 121 deletions
diff --git a/robotframework-onap/vcpeutils/preload.py b/robotframework-onap/vcpeutils/preload.py
deleted file mode 100755
index 793e70d..0000000
--- a/robotframework-onap/vcpeutils/preload.py
+++ /dev/null
@@ -1,121 +0,0 @@
-#! /usr/bin/python
-
-from vcpeutils.csar_parser import *
-from robot.api import logger
-from past import builtins
-import requests
-
-
-class Preload:
- def __init__(self, vcpecommon):
- self.vcpecommon = vcpecommon
-
- def replace(self, sz, replace_dict):
- for old_string, new_string in list(replace_dict.items()):
- sz = sz.replace(old_string, new_string)
- if self.vcpecommon.template_variable_symbol in sz:
- logger.error('Error! Cannot find a value to replace ' + sz)
- return sz
-
- def generate_json(self, template_file, replace_dict):
- with open(template_file) as json_input:
- json_data = json.load(json_input)
- stk = [json_data]
- while len(stk) > 0:
- data = stk.pop()
- for k, v in list(data.items()):
- if type(v) is dict:
- stk.append(v)
- elif type(v) is list:
- stk.extend(v)
- elif type(v) is builtins.basestring:
- if self.vcpecommon.template_variable_symbol in v:
- data[k] = self.replace(v, replace_dict)
- else:
- logger.warn('Unexpected line in template: {}. Look for value {}'.format(template_file, v))
- return json_data
-
- def preload_network(self, template_file, network_role, subnet_start_ip, subnet_gateway, common_dict, name_suffix):
- """
- :param template_file:
- :param network_role: cpe_signal, cpe_public, brg_bng, bng_mux, mux_gw
- :param subnet_start_ip:
- :param subnet_gateway:
- :param common_dict:
- :param name_suffix: e.g. '201711201311'
- :return:
- """
- network_name = '_'.join([self.vcpecommon.instance_name_prefix['network'], network_role.lower(), name_suffix])
- subnet_name = self.vcpecommon.network_name_to_subnet_name(network_name)
- common_dict['${' + network_role+'_net}'] = network_name
- common_dict['${' + network_role+'_subnet}'] = subnet_name
- replace_dict = {'${network_role}': network_role,
- '${service_type}': 'vCPE',
- '${network_type}': 'Generic NeutronNet',
- '${network_name}': network_name,
- '${subnet_start_ip}': subnet_start_ip,
- '${subnet_gateway}': subnet_gateway
- }
- logger.info('Preloading network ' + network_role)
- return self.preload(template_file, replace_dict, self.vcpecommon.sdnc_preload_network_url)
-
- def preload(self, template_file, replace_dict, url):
- logger.debug(json.dumps(replace_dict, indent=4, sort_keys=True))
- json_data = self.generate_json(template_file, replace_dict)
- logger.debug(json.dumps(json_data, indent=4, sort_keys=True))
- r = requests.post(url, headers=self.vcpecommon.sdnc_headers, auth=self.vcpecommon.sdnc_userpass, json=json_data)
- response = r.json()
- if int(response.get('output', {}).get('response-code', 0)) != 200:
- logger.debug(json.dumps(response, indent=4, sort_keys=True))
- logger.error('Preloading failed.')
- return False
- return True
-
- def preload_vgw(self, template_file, brg_mac, commont_dict, name_suffix):
- replace_dict = {'${brg_mac}': brg_mac,
- '${suffix}': name_suffix
- }
- replace_dict.update(commont_dict)
- logger.info('Preloading vGW')
- return self.preload(template_file, replace_dict, self.vcpecommon.sdnc_preload_vnf_url)
-
- def preload_vgw_gra(self, template_file, brg_mac, commont_dict, name_suffix, vgw_vfmod_name_index):
- replace_dict = {'${brg_mac}': brg_mac,
- '${suffix}': name_suffix,
- '${vgw_vfmod_name_index}': vgw_vfmod_name_index
- }
- replace_dict.update(commont_dict)
- logger.info('Preloading vGW-GRA')
- return self.preload(template_file, replace_dict, self.vcpecommon.sdnc_preload_gra_url)
-
- def preload_vfmodule(self, template_file, service_instance_id, vnf_model, vfmodule_model, common_dict, name_suffix):
- """
- :param template_file:
- :param service_instance_id:
- :param vnf_model: parsing results from csar_parser
- :param vfmodule_model: parsing results from csar_parser
- :param common_dict:
- :param name_suffix:
- :return:
- """
-
- # examples:
- # vfmodule_model['modelCustomizationName']: "Vspinfra111601..base_vcpe_infra..module-0",
- # vnf_model['modelCustomizationName']: "vspinfra111601 0",
-
- vfmodule_name = '_'.join([self.vcpecommon.instance_name_prefix['vfmodule'],
- vfmodule_model['modelCustomizationName'].split('..')[0].lower(), name_suffix])
-
- # vnf_type and generic_vnf_type are identical
- replace_dict = {'${vnf_type}': vfmodule_model['modelCustomizationName'],
- '${generic_vnf_type}': vfmodule_model['modelCustomizationName'],
- '${service_type}': service_instance_id,
- '${generic_vnf_name}': vnf_model['modelCustomizationName'],
- '${vnf_name}': vfmodule_name,
- '${mr_ip_addr}': self.vcpecommon.mr_ip_addr,
- '${mr_ip_port}': self.vcpecommon.mr_ip_port,
- '${sdnc_oam_ip}': self.vcpecommon.sdnc_oam_ip,
- '${suffix}': name_suffix}
- replace_dict.update(common_dict)
- logger.info('Preloading VF Module ' + vfmodule_name)
- return self.preload(template_file, replace_dict, self.vcpecommon.sdnc_preload_vnf_url)