Disable locking during deployment
[sdc.git] / catalog-be / src / main / resources / scripts / sdcBePy / tosca / imports / run.py
index 067f110..1df54ca 100644 (file)
@@ -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)