-#! /usr/bin/python
+#!/usr/bin/env python
import logging
-from vcpecommon import *
+from vcpecommon import * # pylint: disable=W0614
import csar_parser
parser = csar_parser.CsarParser()
parser.parse_csar(csar_file)
cmds = []
- cmds.append("INSERT INTO SERVICE_MODEL (`service_uuid`, `model_yaml`,`invariant_uuid`,`version`,`name`," \
+
+ if False: # pylint: disable=W0125
+ cmds.append("INSERT INTO SERVICE_MODEL (`service_uuid`, `model_yaml`,`invariant_uuid`,`version`,`name`," \
"`description`,`type`,`category`,`ecomp_naming`,`service_instance_name_prefix`,`filename`," \
"`naming_policy`) values ('{0}', null, '{1}',null,'{2}', 'vCPEService', 'Service','Network L1-3'," \
"'N', 'vCPEService', '{3}/{4}',null);".format(parser.svc_model['modelVersionId'],
for model in parser.vnf_models:
if 'tunnel' in model['modelCustomizationName'].lower() or 'brg' in model['modelCustomizationName'].lower():
- cmds.append("INSERT INTO ALLOTTED_RESOURCE_MODEL (`customization_uuid`,`model_yaml`,`invariant_uuid`," \
+ if False: # pylint: disable=W0125
+ cmds.append("INSERT INTO ALLOTTED_RESOURCE_MODEL (`customization_uuid`,`model_yaml`,`invariant_uuid`," \
"`uuid`,`version`,`naming_policy`,`ecomp_generated_naming`,`depending_service`,`role`,`type`," \
"`service_dependency`,`allotted_resource_type`) VALUES ('{0}',NULL,'{1}','{2}','1.0'," \
"NULL,'Y', NULL,NULL,'TunnelXConnect'," \
"NULL, 'TunnelXConnect');".format(model['modelCustomizationId'], model['modelInvariantId'],
model['modelVersionId']))
+ cmds.append("UPDATE ALLOTTED_RESOURCE_MODEL SET `ecomp_generated_naming`='Y' " \
+ "WHERE `customization_uuid`='{0}'".format(model['modelCustomizationId']))
else:
- cmds.append("INSERT INTO VF_MODEL (`customization_uuid`,`model_yaml`,`invariant_uuid`,`uuid`,`version`," \
+ if False: # pylint: disable=W0125
+ cmds.append("INSERT INTO VF_MODEL (`customization_uuid`,`model_yaml`,`invariant_uuid`,`uuid`,`version`," \
"`name`,`naming_policy`,`ecomp_generated_naming`,`avail_zone_max_count`,`nf_function`," \
"`nf_code`,`nf_type`,`nf_role`,`vendor`,`vendor_version`) VALUES ('{0}',NULL,'{1}','{2}'," \
"'1.0', '{3}',NULL,'Y',1,NULL,NULL,NULL,NULL,'vCPE'," \
"'1.0');".format(model['modelCustomizationId'], model['modelInvariantId'],
model['modelVersionId'], model['modelCustomizationName'].split()[0]))
+ cmds.append("UPDATE VF_MODEL SET `ecomp_generated_naming`='Y' " \
+ "WHERE `customization_uuid`='{0}'".format(model['modelCustomizationId']))
+
+ if False: # pylint: disable=W0125
+ model = parser.vfmodule_models[0]
+ cmds.append("INSERT INTO VF_MODULE_MODEL (`customization_uuid`,`model_yaml`,`invariant_uuid`,`uuid`,`version`," \
+ "`vf_module_type`,`availability_zone_count`,`ecomp_generated_vm_assignments`) VALUES ('{0}', NULL," \
+ "'{1}', '{2}', '1.0', 'Base',NULL,NULL)" \
+ ";".format(model['modelCustomizationId'], model['modelInvariantId'], model['modelVersionId']))
- model = parser.vfmodule_models[0]
- cmds.append("INSERT INTO VF_MODULE_MODEL (`customization_uuid`,`model_yaml`,`invariant_uuid`,`uuid`,`version`," \
- "`vf_module_type`,`availability_zone_count`,`ecomp_generated_vm_assignments`) VALUES ('{0}', NULL," \
- "'{1}', '{2}', '1.0', 'Base',NULL,NULL)" \
- ";".format(model['modelCustomizationId'], model['modelInvariantId'], model['modelVersionId']))
print('\n'.join(cmds))
- vcpecommon.insert_into_sdnc_db(cmds)
+ vcpecommon.execute_cmds_sdnc_db(cmds)
def insert_customer_service_to_so(vcpecommon):
- logger = logging.getLogger('__name__')
- logger.info('Inserting neutron HEAT template to SO DB and creating a recipe for customer service')
+ logger = logging.getLogger(__name__)
+ cmds = []
csar_file = vcpecommon.find_file('rescust', 'csar', 'csar')
parser = csar_parser.CsarParser()
parser.parse_csar(csar_file)
- cmds = []
- cmds.append("INSERT INTO `service_recipe` (`ACTION`, `VERSION_STR`, `DESCRIPTION`, `ORCHESTRATION_URI`, " \
- "`SERVICE_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TIMEOUT_INTERIM`, `CREATION_TIMESTAMP`, " \
- "`SERVICE_MODEL_UUID`) VALUES ('createInstance','1','{0}'," \
+ cmds.append("INSERT IGNORE INTO service_recipe (ACTION, VERSION_STR, DESCRIPTION, ORCHESTRATION_URI, " \
+ "SERVICE_PARAM_XSD, RECIPE_TIMEOUT, SERVICE_TIMEOUT_INTERIM, CREATION_TIMESTAMP, " \
+ "SERVICE_MODEL_UUID) VALUES ('createInstance','1','{0}'," \
"'/mso/async/services/CreateVcpeResCustService',NULL,181,NULL, NOW()," \
"'{1}');".format(parser.svc_model['modelName'], parser.svc_model['modelVersionId']))
+ if vcpecommon.oom_mode:
+ logger.info('Inserting vcpe customer service workflow entry into SO catalogdb')
+ vcpecommon.execute_cmds_so_db(cmds)
+ else:
+ logger.info('\n\nManually run a command from Rancher node to insert vcpe'
+ 'customer service workflow entry in SO catalogdb:\n'
+ '\nkubectl -n {0} exec {1}-mariadb-galera-mariadb-galera-0'
+ ' -- mysql -uroot -psecretpassword catalogdb -e '
+ '"'.format(vcpecommon.onap_namespace,
+ vcpecommon.onap_environment) + '\n'.join(cmds) + '"')
- cmds.append("delete from `heat_template_params` where"
- "`HEAT_TEMPLATE_ARTIFACT_UUID`='efee1d84-b8ec-11e7-abc4-cec278b6b50a';")
- cmds.append("delete from `heat_template` where ARTIFACT_UUID='efee1d84-b8ec-11e7-abc4-cec278b6b50a';")
- network_tempalte_file = vcpecommon.find_file('neutron', 'yaml', 'preload_templates')
- with open(network_tempalte_file, 'r') as fin:
- lines = fin.readlines()
- longtext = '\n'.join(lines)
- cmds.append("INSERT INTO `heat_template`(`ARTIFACT_UUID`, `NAME`, `VERSION`, `BODY`, `TIMEOUT_MINUTES`, " \
- "`DESCRIPTION`, `CREATION_TIMESTAMP`, `ARTIFACT_CHECKSUM`) VALUES(" \
- "'efee1d84-b8ec-11e7-abc4-cec278b6b50a', 'Generic NeutronNet', '1', '{0}', 10, " \
- "'Generic Neutron Template', NOW(), 'MANUAL RECORD');".format(longtext))
-
- cmds.append("INSERT INTO `heat_template_params`(`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, " \
- "`PARAM_TYPE`, `PARAM_ALIAS`) VALUES('efee1d84-b8ec-11e7-abc4-cec278b6b50a', 'shared', 0, " \
- "'string', NULL);")
-
- print('\n'.join(cmds))
- vcpecommon.insert_into_so_db(cmds)
-
+def insert_sdnc_ip_pool(vcpecommon):
+ if vcpecommon.oom_mode:
+ logger = logging.getLogger(__name__)
+ logger.info('Inserting SDNC ip pool to SDNC DB')
+ cmds = []
+ # Get the VGWs network address
+ vgw_net = '.'.join(vcpecommon.preload_network_config['mux_gw'][0].split('.')[:3])
+ row_values = []
+ # Prepare single INSERT statement with all IP values
+ for ip in range(22,250):
+ row_values.append("('', 'VGW', 'AVAILABLE','{0}.{1}')".format(vgw_net,ip))
+ cmds.append("INSERT IGNORE INTO IPV4_ADDRESS_POOL VALUES" + ', '.join(row_values) + ';')
+ vcpecommon.execute_cmds_mariadb(cmds)
+ else:
+ # Ip pool should have been inserted manually according to the documentation
+ pass