J release: Release container Image
[ric-plt/appmgr.git] / xapp_orchestrater / dev / xapp_onboarder / xapp_onboarder / helm_controller / xApp_builder.py
index a9ecf41..ace97ae 100644 (file)
@@ -51,16 +51,22 @@ class xApp():
     def __init__(self, config_file, schema_file):
         self.config_file = config_file
         self.schema_file = schema_file
-
+        isnamepresent = 0
         if 'name' not in self.config_file:
-            raise xAppError(
-                "xApp chart name not found. (Caused by: config-file.json does not contain xapp_name attribute.)", 500)
+            isnamepresent = 1
+            if 'xapp_name' not in self.config_file:
+                raise xAppError(
+                    "xApp chart name not found. (Caused by: config-file.json does not contain xapp_name attribute.)", 500)
 
         if 'version' not in self.config_file:
             raise xAppError(
                 "xApp chart version not found. (Caused by: config-file.json does not contain version attribute.)", 500)
-
-        self.chart_name = self.config_file['name']
+        
+        if isnamepresent == 1:
+            self.chart_name = self.config_file['xapp_name']
+        else:
+            self.chart_name = self.config_file['name']
         self.chart_version = self.config_file['version']
         self.configmap_config_json_file = copy.deepcopy(self.config_file)
         self.chart_workspace_path = settings.CHART_WORKSPACE_PATH + '/' + self.chart_name + '-' + self.chart_version
@@ -229,6 +235,7 @@ class xApp():
             raise xAppError( "xApp " + self.chart_name + '-' + self.chart_version + " distribution failed. (Caused by: " + str(err) + ")" , err.status_code)
 
     def install_chart_package(xapp_chart_name, version, namespace, overridefile):
+        dirTomove = "/tmp/helm_template"
         try: 
           tar = tarfile.open(xapp_chart_name + "-" + version + ".tgz")
           tar.extractall()
@@ -244,13 +251,19 @@ class xApp():
         except Exception as err:
             print(err)
             status = 0
-        subprocess.run(["rm", "-rf", xapp_chart_name ])
-        subprocess.run(["rm", "-rf", xapp_chart_name + "-" + version + ".tgz" ])
+        if (os.getcwd() != dirTomove):
+            subprocess.run(["mv", xapp_chart_name, dirTomove])
+            PATH=xapp_chart_name + "-" + version + ".tgz"
+            if os.path.isfile(PATH):
+                subprocess.run(["mv", xapp_chart_name + "-" + version + ".tgz", dirTomove ])
         return status
 
-    def uninstall_chart_package(xapp_chart_name, namespace):
-
+    def uninstall_chart_package(xapp_chart_name, namespace, version):
+        dirTomove = "/tmp/helm_template/"
         try:
+          subprocess.run(["rm", "-rf", dirTomove + xapp_chart_name])
+          if version != "" :
+            subprocess.run(["rm", "-rf", dirTomove+xapp_chart_name + "-" + version + ".tgz"])
           process = subprocess.run(["helm", "delete", xapp_chart_name, "--namespace=" + namespace], stdout=PIPE, stderr=PIPE, check=True)
           status = 1