Merge "Improve description of push policy for vFW" into casablanca
[integration.git] / test / vcpe / config_sdnc_so.py
1 #! /usr/bin/python
2
3 import logging
4 from vcpecommon import *
5 import csar_parser
6
7
8 def insert_customer_service_to_sdnc(vcpecommon):
9     """
10     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 ('7e319b6f-e710-440e-bbd2-63c1004949ef', null, 'a99ace8a-6e3b-447d-b2ff-4614e4234eea',null,'vCPEService', 'vCPEService', 'Service','Network L1-3', 'N', 'vCPEService', 'vCpeResCust110701/service-Vcperescust110701-template.yml',null);
11     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 ( '7e40b664-d7bf-47ad-8f7c-615631d53cd7', NULL,  'f51b0aae-e24a-4cff-b190-fe3daf3d15ee', 'f3137496-1605-40e9-b6df-64aa0f8e91a0', '1.0', NULL,'Y',NULL,NULL,'TunnelXConnect',NULL, 'TunnelXConnect');
12     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 ( 'e46097e1-6a0c-4cf3-a7e5-c39ed407e65e', NULL,  'aa60f6ba-541b-48d6-a5ff-3b0e1f0ad9bf', '0e157d52-b945-422f-b3a8-ab685c2be079', '1.0', NULL,'Y',NULL,NULL,'BRG',NULL, 'TunnelXConnect');
13     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 ( '3768afa5-cf9e-4071-bb25-3a2e2628dd87', NULL,  '5f56893b-d026-4672-b785-7f5ffeb498c6', '7cf28b23-5719-485b-9ab4-dae1a2fa0e07', '1.0', 'vspvgw111601',NULL,'Y',1,NULL,NULL,NULL,NULL,'vCPE','1.0');
14     INSERT INTO VF_MODULE_MODEL (`customization_uuid`,`model_yaml`,`invariant_uuid`,`uuid`,`version`,`vf_module_type`,`availability_zone_count`,`ecomp_generated_vm_assignments`)  VALUES ( '17a9c7d1-6f8e-4930-aa83-0d323585184f', NULL,  'd772ddd1-7623-40b4-a2a5-ec287916cb51', '6e1a0652-f5e9-4caa-bff8-39bf0c8589a3', '1.0', 'Base',NULL,NULL);
15
16     :return:
17     """
18     logger = logging.getLogger('__name__')
19     logger.info('Inserting customer service data to SDNC DB')
20     csar_file = vcpecommon.find_file('rescust', 'csar', 'csar')
21     parser = csar_parser.CsarParser()
22     parser.parse_csar(csar_file)
23     cmds = []
24
25     if False:
26         cmds.append("INSERT INTO SERVICE_MODEL (`service_uuid`, `model_yaml`,`invariant_uuid`,`version`,`name`," \
27                 "`description`,`type`,`category`,`ecomp_naming`,`service_instance_name_prefix`,`filename`," \
28                 "`naming_policy`) values ('{0}', null, '{1}',null,'{2}', 'vCPEService', 'Service','Network L1-3'," \
29                 "'N', 'vCPEService', '{3}/{4}',null);".format(parser.svc_model['modelVersionId'],
30                                                               parser.svc_model['modelInvariantId'],
31                                                               parser.svc_model['modelName'],
32                                                               parser.svc_model['modelName'],
33                                                               parser.svc_model['modelName']))
34
35     for model in parser.vnf_models:
36         if 'tunnel' in model['modelCustomizationName'].lower() or 'brg' in model['modelCustomizationName'].lower():
37             if False:
38                 cmds.append("INSERT INTO ALLOTTED_RESOURCE_MODEL (`customization_uuid`,`model_yaml`,`invariant_uuid`," \
39                         "`uuid`,`version`,`naming_policy`,`ecomp_generated_naming`,`depending_service`,`role`,`type`," \
40                         "`service_dependency`,`allotted_resource_type`) VALUES ('{0}',NULL,'{1}','{2}','1.0'," \
41                         "NULL,'Y', NULL,NULL,'TunnelXConnect'," \
42                         "NULL, 'TunnelXConnect');".format(model['modelCustomizationId'], model['modelInvariantId'],
43                                                           model['modelVersionId']))
44             cmds.append("UPDATE ALLOTTED_RESOURCE_MODEL SET `ecomp_generated_naming`='Y' " \
45                     "WHERE `customization_uuid`='{0}'".format(model['modelCustomizationId']))
46         else:
47             if False:
48                 cmds.append("INSERT INTO VF_MODEL (`customization_uuid`,`model_yaml`,`invariant_uuid`,`uuid`,`version`," \
49                         "`name`,`naming_policy`,`ecomp_generated_naming`,`avail_zone_max_count`,`nf_function`," \
50                         "`nf_code`,`nf_type`,`nf_role`,`vendor`,`vendor_version`) VALUES ('{0}',NULL,'{1}','{2}'," \
51                         "'1.0', '{3}',NULL,'Y',1,NULL,NULL,NULL,NULL,'vCPE'," \
52                         "'1.0');".format(model['modelCustomizationId'], model['modelInvariantId'],
53                                          model['modelVersionId'], model['modelCustomizationName'].split()[0]))
54             cmds.append("UPDATE VF_MODEL SET `ecomp_generated_naming`='Y' " \
55                         "WHERE `customization_uuid`='{0}'".format(model['modelCustomizationId']))
56
57     if False:
58         model = parser.vfmodule_models[0]
59         cmds.append("INSERT INTO VF_MODULE_MODEL (`customization_uuid`,`model_yaml`,`invariant_uuid`,`uuid`,`version`," \
60                     "`vf_module_type`,`availability_zone_count`,`ecomp_generated_vm_assignments`) VALUES ('{0}', NULL," \
61                     "'{1}', '{2}', '1.0', 'Base',NULL,NULL)" \
62                     ";".format(model['modelCustomizationId'], model['modelInvariantId'], model['modelVersionId']))
63
64     print('\n'.join(cmds))
65     vcpecommon.execute_cmds_sdnc_db(cmds)
66
67
68 def insert_customer_service_to_so(vcpecommon):
69     logger = logging.getLogger('__name__')
70     logger.info('Inserting neutron HEAT template to SO DB and creating a recipe for customer service')
71     cmds = []
72     if True:
73         csar_file = vcpecommon.find_file('rescust', 'csar', 'csar')
74         parser = csar_parser.CsarParser()
75         parser.parse_csar(csar_file)
76         cmds.append("INSERT INTO `service_recipe` (`ACTION`, `VERSION_STR`, `DESCRIPTION`, `ORCHESTRATION_URI`, " \
77                     "`SERVICE_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TIMEOUT_INTERIM`, `CREATION_TIMESTAMP`, " \
78                     "`SERVICE_MODEL_UUID`) VALUES ('createInstance','1','{0}'," \
79                     "'/mso/async/services/CreateVcpeResCustService',NULL,181,NULL, NOW()," \
80                     "'{1}');".format(parser.svc_model['modelName'], parser.svc_model['modelVersionId']))
81         vcpecommon.execute_cmds_so_db(cmds)
82
83     cmds = []
84     cmds.append("delete from `heat_template_params` where"
85                 "`HEAT_TEMPLATE_ARTIFACT_UUID`='efee1d84-b8ec-11e7-abc4-cec278b6b50a';")
86     cmds.append("delete from `heat_template` where ARTIFACT_UUID='efee1d84-b8ec-11e7-abc4-cec278b6b50a';")
87     network_tempalte_file = vcpecommon.find_file('neutron', 'yaml', 'preload_templates')
88     with open(network_tempalte_file, 'r') as fin:
89         lines = fin.readlines()
90         longtext = '\n'.join(lines)
91         cmds.append("INSERT INTO `heat_template`(`ARTIFACT_UUID`, `NAME`, `VERSION`, `BODY`, `TIMEOUT_MINUTES`, " \
92                     "`DESCRIPTION`, `CREATION_TIMESTAMP`, `ARTIFACT_CHECKSUM`) VALUES(" \
93                     "'efee1d84-b8ec-11e7-abc4-cec278b6b50a', 'Generic NeutronNet', '1', '{0}', 10, " \
94                     "'Generic Neutron Template', NOW(), 'MANUAL RECORD');".format(longtext))
95
96     cmds.append("INSERT INTO `heat_template_params`(`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, " \
97                 "`PARAM_TYPE`, `PARAM_ALIAS`) VALUES('efee1d84-b8ec-11e7-abc4-cec278b6b50a', 'shared', 0, " \
98                 "'string', NULL);")
99
100     print('\n'.join(cmds))
101     vcpecommon.execute_cmds_so_db(cmds)
102