update
This commit is contained in:
65
utils/service.py
Normal file
65
utils/service.py
Normal file
@@ -0,0 +1,65 @@
|
||||
# -*- 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)
|
||||
|
||||
|
||||
"""
|
||||
Reference in New Issue
Block a user