X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=xapp_onboarder%2Fxapp_onboarder%2Fhelm_controller%2FxApp_builder.py;h=0cd821b6d5a17dae2c48815117f8506ec75fb8d2;hb=c6cbcc559369c6791f86d1939d7155646dfe7157;hp=9506a46c390d672627d114c6b2238fa65962e333;hpb=3b56acc14a2308e853612e22738cd44687288149;p=it%2Fdev.git diff --git a/xapp_onboarder/xapp_onboarder/helm_controller/xApp_builder.py b/xapp_onboarder/xapp_onboarder/helm_controller/xApp_builder.py index 9506a46..0cd821b 100644 --- a/xapp_onboarder/xapp_onboarder/helm_controller/xApp_builder.py +++ b/xapp_onboarder/xapp_onboarder/helm_controller/xApp_builder.py @@ -67,10 +67,19 @@ class xApp(): shutil.rmtree(self.chart_workspace_path) os.makedirs(self.chart_workspace_path) shutil.copytree(resource_filename( 'xapp_onboarder', 'resources/xapp-std'), self.chart_workspace_path + '/' + self.chart_name) - self.helm_client_path = settings.CHART_WORKSPACE_PATH + '/helm' self.setup_helm() def setup_helm(self): + self.helm_client_path = 'helm' + try: + process = subprocess.run([self.helm_client_path], stdout=PIPE, stderr=PIPE, check=True) + + except Exception as err: + print(err) + self.download_helm() + self.helm_client_path = settings.CHART_WORKSPACE_PATH + '/helm' + + def download_helm(self): if not os.path.isfile(settings.CHART_WORKSPACE_PATH + '/helm'): log.info("Helm client missing. Trying to download it.") helm_file_name = "helm-v{}-{}-amd64.tar.gz".format(settings.HELM_VERSION, platform.system().lower()) @@ -150,46 +159,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) @@ -216,7 +190,6 @@ class xApp(): def package_chart(self): 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()