Add a work around for bronze release
[it/dev.git] / xapp_onboarder / xapp_onboarder / helm_controller / xApp_builder.py
index 1018f40..1eee2a5 100644 (file)
@@ -145,6 +145,17 @@ class xApp():
             outputfile.write(indented_schema_text)
 
 
+# This is a work around for the bronze release to be backward compatible to the previous xapp standard helm template
+    def write_config_and_schema(self):
+        os.makedirs(self.chart_workspace_path + '/' + self.chart_name + '/descriptors')
+        os.makedirs(self.chart_workspace_path + '/' + self.chart_name + '/config')
+        with open(self.chart_workspace_path + '/' + self.chart_name + '/descriptors/schema.json', 'w') as outfile:
+            json.dump(self.schema_file, outfile)
+        with open(self.chart_workspace_path + '/' + self.chart_name + '/config/config-file.json', 'w') as outfile:
+            json.dump(self.config_file, outfile)
+
+
+
     def add_probes_to_deployment(self):
         with open(self.chart_workspace_path + '/' + self.chart_name + '/templates/deployment.yaml', 'a') as outputfile:
 
@@ -159,46 +170,11 @@ class xApp():
                     outputfile.write(indented_probe_definition_yaml)
 
 
-
     def append_config_to_values_yaml(self):
         with open(self.chart_workspace_path + '/' + self.chart_name + '/values.yaml', 'a') as outputfile:
             yaml.dump(self.config_file, outputfile, default_flow_style=False)
 
 
-    def append_env_to_config_map(self):
-        with open(self.chart_workspace_path + '/' + self.chart_name + '/templates/appenv.yaml', 'a') as outputfile:
-            append = {}
-            if settings.DBAAS_MASTER_NAME:
-                master_name = settings.DBAAS_MASTER_NAME
-                service_host = settings.DBAAS_SERVICE_HOST
-                sentinel_port = settings.DBAAS_SERVICE_SENTINEL_PORT
-                if not service_host:
-                    raise xAppError(
-                        "Internal failure. Cannot find environment variable 'DBAAS_SERVICE_HOST'. (Caused by: Misconfiguration of temp deployment)", 500)
-                if not sentinel_port:
-                    raise xAppError(
-                        "Internal failure. Cannot find environment variable 'DBAAS_SERVICE_SENTINEL_PORT'. (Caused by: Misconfiguration of temp deployment)", 500)
-
-                append['DBAAS_MASTER_NAME'] = master_name
-                append['DBAAS_SERVICE_HOST'] = service_host
-                append['DBAAS_SERVICE_SENTINEL_PORT'] = sentinel_port
-            elif settings.DBAAS_SERVICE_HOST:
-                service_host = settings.DBAAS_SERVICE_HOST
-                service_port = settings.DBAAS_SERVICE_PORT
-                if not service_port:
-                    raise xAppError(
-                        "Internal failure. Cannot find environment variable 'DBAAS_SERVICE_PORT'. (Caused by: Misconfiguration of temp deployment)", 500)
-                append['DBAAS_SERVICE_HOST'] = service_host
-                append['DBAAS_SERVICE_PORT'] = service_port
-            else:
-                raise xAppError(
-                    "Internal failure. Cannot find environment variable 'DBAAS_SERVICE_HOST' or 'DBAAS_MASTER_NAME'. (Caused by: Misconfiguration of temp deployment)",
-                    500)
-            output_yaml = yaml.dump(append)
-            indented_output_yaml = indent(output_yaml, 2)
-            outputfile.write(indented_output_yaml)
-
-
     def change_chart_name_version(self):
         with open(self.chart_workspace_path + '/' + self.chart_name + '/Chart.yaml', 'r') as inputfile:
             self.chart_yaml = yaml.load(inputfile, Loader=yaml.FullLoader)
@@ -223,9 +199,9 @@ class xApp():
                 err.stderr.decode("utf-8") +  "\n" + err.stdout.decode("utf-8") + ")", 400)
 
     def package_chart(self):
+        self.write_config_and_schema()
         self.append_config_to_config_map()
         self.append_config_to_values_yaml()
-        self.append_env_to_config_map()
         self.add_probes_to_deployment()
         self.change_chart_name_version()
         self.helm_lint()