# -*- coding: utf-8 -*- import os import sys from utils.helm import deploy_chart, gen_chart_tarball from utils.logger import logger def register_sut(st_config, resource_name, **kwargs): job_id = "".join([c for c in str(os.getenv("JOB_ID", -1)) if c.isnumeric()]) docker_image = "10.255.143.18:5000/speaker_identification:wo_model_v0" #if "docker_image" in st_config and st_config["docker_image"]: st_config_values = st_config.get("values", {}) #docker_image = st_config["docker_image"] docker_image = "10.255.143.18:5000/speaker_identification:wo_model_v0" chart_tar_fp, chart_values = gen_chart_tarball(docker_image) sut_service_name, _ = deploy_chart( resource_name, int(os.getenv("readiness_timeout", 60 * 3)), chart_fileobj=chart_tar_fp, extra_values=st_config_values, restart_count_limit=int(os.getenv('restart_count', 3)), ) chart_tar_fp.close() if st_config_values is not None and "service" in st_config_values and "port" in st_config_values["service"]: sut_service_port = str(st_config_values["service"]["port"]) else: sut_service_port = str(chart_values["service"]["port"]) return "ws://{}:{}".format(sut_service_name, sut_service_port) """ elif "chart_repo" in st_config: logger.info(f"正在使用 helm-chart 配置,内容为 {st_config}") chart_repo = st_config.get("chart_repo", None) chart_name = st_config.get("chart_name", None) chart_version = st_config.get("chart_version", None) if chart_repo is None or chart_name is None or chart_version is None: logger.error("chart_repo, chart_name, chart_version cant be none") logger.info(f"{chart_repo} {chart_name} {chart_version}") chart_str = os.path.join(chart_repo, chart_name) + ':' + chart_version st_cfg_values = st_config.get('values', {}) st_config["values"] = st_cfg_values sut_service_name, _ = deploy_chart( resource_name, 600, chart_str=chart_str, extra_values=st_cfg_values, ) sut_service_name = f"asr-{job_id}" if st_cfg_values is not None and 'service' in st_cfg_values and 'port' in st_cfg_values['service']: sut_service_port = str(st_cfg_values['service']['port']) else: sut_service_port = '80' return 'ws://%s:%s' % (sut_service_name, sut_service_port) else: logger.error("配置信息错误,缺少 docker_image 属性") #sys.exit(-1) """