diff options
author | 2019-11-22 15:02:21 +0100 | |
---|---|---|
committer | 2019-12-06 10:22:10 +0000 | |
commit | ba8a72f9ac68fbdf04f9470960fae496aa49fa71 (patch) | |
tree | 2a726c59d29a6d68fc29058d5e0d5c916bbe1702 | |
parent | 62a4764febf13ad678593d4ff8fc52e430564cf1 (diff) |
Insert vcpe customer service workflow into SO catalogdb
Customer service workflow entry will be automatically
inserted into catalogdb database if running with
oom_mode set to True.
So database endpoint properties were updated to
reflect current catalogdb location.
vCPE doc updated to reflect the changes made.
Change-Id: I54ef0bf94ccf2d38501c1b854cafe4d388a4b35d
Signed-off-by: Bartek Grzybowski <b.grzybowski@partner.samsung.com>
Issue-ID: TEST-205
-rw-r--r-- | docs/docs_vCPE.rst | 6 | ||||
-rwxr-xr-x | test/vcpe/config_sdnc_so.py | 31 | ||||
-rwxr-xr-x | test/vcpe/vcpe.py | 2 | ||||
-rwxr-xr-x | test/vcpe/vcpecommon.py | 15 |
4 files changed, 28 insertions, 26 deletions
diff --git a/docs/docs_vCPE.rst b/docs/docs_vCPE.rst index f3a2be13f..12320d9e5 100644 --- a/docs/docs_vCPE.rst +++ b/docs/docs_vCPE.rst @@ -77,11 +77,7 @@ Here are the main steps to run the use case in Integration lab environment, wher vcpe.py init -6. Run a command from Rancher node to insert vcpe customer service workflow entry in SO catalogdb. You should be able to see a sql command printed out from the above step output at the end, and use that sql command to replace the sample sql command below (inside the double quote) and run it from Rancher node: - -:: - - kubectl exec dev-mariadb-galera-mariadb-galera-0 -- mysql -uroot -psecretpassword catalogdb -e "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','vCPEResCust 2019-06-03 _04ba','/mso/async/services/CreateVcpeResCustService',NULL,181,NULL, NOW(),'6c4a469d-ca2c-4b02-8cf1-bd02e9c5a7ce')" +6. If running with oom_mode=False run a command printed at the end of the above step from k8s control node to insert vcpe customer service workflow entry in SO catalogdb. It will be done automatically otherwise. 7. Run Robot to create and distribute for vCPE customer service. This step assumes step 1 has successfully distributed all vcpe models except customer service model diff --git a/test/vcpe/config_sdnc_so.py b/test/vcpe/config_sdnc_so.py index b19c93acf..375c7aaff 100755 --- a/test/vcpe/config_sdnc_so.py +++ b/test/vcpe/config_sdnc_so.py @@ -68,19 +68,24 @@ def insert_customer_service_to_sdnc(vcpecommon): def insert_customer_service_to_so(vcpecommon): logger = logging.getLogger(__name__) cmds = [] - if True: - csar_file = vcpecommon.find_file('rescust', 'csar', 'csar') - parser = csar_parser.CsarParser() - parser.parse_csar(csar_file) - 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}'," \ - "'/mso/async/services/CreateVcpeResCustService',NULL,181,NULL, NOW()," \ - "'{1}');".format(parser.svc_model['modelName'], parser.svc_model['modelVersionId'])) - logger.info( - 'Please manually run the following sql command in SO catalogdb database to insert customer service recipe') - logger.info('\n'.join(cmds)) - #vcpecommon.execute_cmds_so_db(cmds) + csar_file = vcpecommon.find_file('rescust', 'csar', 'csar') + parser = csar_parser.CsarParser() + parser.parse_csar(csar_file) + 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) + '"') def insert_sdnc_ip_pool(vcpecommon): logger = logging.getLogger(__name__) diff --git a/test/vcpe/vcpe.py b/test/vcpe/vcpe.py index 2b167a2d6..c58b60adb 100755 --- a/test/vcpe/vcpe.py +++ b/test/vcpe/vcpe.py @@ -215,7 +215,7 @@ def closed_loop(lossrate=0): def init_so_sdnc(): logger = logging.getLogger('__name__') vcpecommon = VcpeCommon() - #config_sdnc_so.insert_sdnc_ip_pool(vcpecommon) + config_sdnc_so.insert_sdnc_ip_pool(vcpecommon) config_sdnc_so.insert_customer_service_to_so(vcpecommon) #config_sdnc_so.insert_customer_service_to_sdnc(vcpecommon) vgw_vfmod_name_index= 0 diff --git a/test/vcpe/vcpecommon.py b/test/vcpe/vcpecommon.py index ddbce4b24..ffc63347f 100755 --- a/test/vcpe/vcpecommon.py +++ b/test/vcpe/vcpecommon.py @@ -191,6 +191,11 @@ class VcpeCommon: '/restconf/config/GENERIC-RESOURCE-API:' ############################################################################################# + # MARIADB-GALERA settings + self.mariadb_galera_endpoint_ip = self.get_k8s_service_endpoint_info('mariadb-galera','ip') + self.mariadb_galera_endpoint_port = self.get_k8s_service_endpoint_info('mariadb-galera','port') + + ############################################################################################# # SO urls, note: do NOT add a '/' at the end of the url self.so_req_api_url = {'v4': 'http://' + self.hosts['so'] + ':' + self.so_nbi_port + '/onap/so/infra/serviceInstantiation/v7/serviceInstances', 'v5': 'http://' + self.hosts['so'] + ':' + self.so_nbi_port + '/onap/so/infra/serviceInstantiation/v7/serviceInstances'} @@ -200,7 +205,8 @@ class VcpeCommon: self.so_db_name = 'catalogdb' self.so_db_user = 'root' self.so_db_pass = 'secretpassword' - self.so_db_port = '30252' if self.oom_mode else '32769' + self.so_db_host = self.mariadb_galera_endpoint_ip if self.oom_mode else self.hosts['so'] + self.so_db_port = self.mariadb_galera_endpoint_port if self.oom_mode else '3306' self.vpp_inf_url = 'http://{0}:8183/restconf/config/ietf-interfaces:interfaces' self.vpp_api_headers = {'Content-Type': 'application/json', 'Accept': 'application/json'} @@ -219,11 +225,6 @@ class VcpeCommon: self.policy_pap_service_name = 'policy-pap' ############################################################################################# - # MARIADB-GALERA settings - self.mariadb_galera_endpoint_ip = self.get_k8s_service_endpoint_info('mariadb-galera','ip') - self.mariadb_galera_endpoint_port = self.get_k8s_service_endpoint_info('mariadb-galera','port') - - ############################################################################################# # AAI urls self.aai_region_query_url = 'https://' + self.oom_so_sdnc_aai_ip + ':' +\ self.aai_query_port +\ @@ -299,7 +300,7 @@ class VcpeCommon: def execute_cmds_so_db(self, cmds): self.execute_cmds_db(cmds, self.so_db_user, self.so_db_pass, self.so_db_name, - self.hosts['so'], self.so_db_port) + self.so_db_host, self.so_db_port) def execute_cmds_db(self, cmds, dbuser, dbpass, dbname, host, port): cnx = mysql.connector.connect(user=dbuser, password=dbpass, database=dbname, host=host, port=port) |