From 95b22d8d074f294e997c27d79d369b0eb3bee9e2 Mon Sep 17 00:00:00 2001 From: davsad Date: Fri, 16 Jul 2021 09:44:22 +0100 Subject: Disable locking during deployment Issue-ID: SDC-3643 Signed-off-by: davsad Change-Id: I1a04c253d70bf5aebf33bba7b2b9f83bd559ae64 --- .../resources/scripts/sdcBePy/common/sdcBeProxy.py | 3 +++ .../resources/scripts/sdcBePy/tosca/imports/run.py | 25 +++++++++++++--------- 2 files changed, 18 insertions(+), 10 deletions(-) (limited to 'catalog-be/src/main/resources/scripts/sdcBePy') diff --git a/catalog-be/src/main/resources/scripts/sdcBePy/common/sdcBeProxy.py b/catalog-be/src/main/resources/scripts/sdcBePy/common/sdcBeProxy.py index f2bef53564..0c71a382d1 100755 --- a/catalog-be/src/main/resources/scripts/sdcBePy/common/sdcBeProxy.py +++ b/catalog-be/src/main/resources/scripts/sdcBePy/common/sdcBeProxy.py @@ -49,6 +49,9 @@ class SdcBeProxy: 'consumerPassword': password })) + def disable_locking(self, disable): + return self.con.post("/sdc2/rest/v1/catalog/lock", disable) + def get_normatives(self): return self.con.get("/sdc2/rest/v1/screen", with_buffer=True) diff --git a/catalog-be/src/main/resources/scripts/sdcBePy/tosca/imports/run.py b/catalog-be/src/main/resources/scripts/sdcBePy/tosca/imports/run.py index 067f110efc..1df54ca50e 100644 --- a/catalog-be/src/main/resources/scripts/sdcBePy/tosca/imports/run.py +++ b/catalog-be/src/main/resources/scripts/sdcBePy/tosca/imports/run.py @@ -17,22 +17,27 @@ def main(sdc_be_proxy, update_version): # base_file_location = os.getcwd() + "/../../../import/tosca/" base_file_location = os.getcwd() + os.path.sep logger.debug("working directory =" + base_file_location) - - model_import_manager = ModelImportManager(Path(base_file_location) / 'models', ModelClient(sdc_be_proxy)) + if sdc_be_proxy.disable_locking("true") != 200: + raise RuntimeError("Failed to disable locking") try: - model_import_manager.create_models() + model_import_manager = ModelImportManager(Path(base_file_location) / 'models', ModelClient(sdc_be_proxy)) + try: + model_import_manager.create_models() + except Exception as ex: + logger.log("An error has occurred while uploading the models: ", str(ex)) + raise ex + process_element_list(normativeElementsList.get_normative_element_candidate_list(base_file_location), sdc_be_proxy) + process_type_list(normativeTypesList.get_normative_type_candidate_list(base_file_location), sdc_be_proxy, update_version) + process_element_list(normativeElementsList.get_normative_element_with_metadata_list(base_file_location), sdc_be_proxy) except Exception as ex: - logger.log("An error has occurred while uploading the models: ", str(ex)) + logger.log("An error has occurred while uploading elements and types: ", str(ex)) raise ex - - process_element_list(normativeElementsList.get_normative_element_candidate_list(base_file_location), sdc_be_proxy) - process_type_list(normativeTypesList.get_normative_type_candidate_list(base_file_location), sdc_be_proxy, update_version) - process_element_list(normativeElementsList.get_normative_element_with_metadata_list(base_file_location), sdc_be_proxy) - + finally: + if sdc_be_proxy.disable_locking("false") != 200: + raise RuntimeError("Failed to enable locking") logger.log("Script end ->", "All normatives imported successfully!") logger.print_and_exit(0, None) - def run(): sdc_be_proxy, update_version = parse_and_create_proxy() main(sdc_be_proxy, update_version) -- cgit 1.2.3-korg