Files
zhousha 55a67e817e update
2025-08-06 15:38:55 +08:00

66 lines
2.5 KiB
Python

# -*- 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)
"""