47 lines
1.8 KiB
Python
47 lines
1.8 KiB
Python
import os
|
|
import sys
|
|
from utils.helm import deploy_chart, gen_chart_tarball
|
|
from utils.logger import logger
|
|
import yaml
|
|
|
|
UNIT_TEST = os.getenv("UNIT_TEST", 0)
|
|
|
|
|
|
def register_sut(st_config, resource_name, **kwargs):
|
|
st_config_values = st_config.get("values", {})
|
|
docker_image = st_config_values["docker_image"]
|
|
image_pull_policy = st_config_values["image_pull_policy"]
|
|
chart_tar_fp, chart_values = gen_chart_tarball(docker_image, image_pull_policy)
|
|
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()
|
|
sut_service_port = str(chart_values["service"]["port"])
|
|
return "ws://{}:{}".format(sut_service_name, sut_service_port)
|
|
|
|
|
|
def start_server(submit_config_filepath: str, language: str):
|
|
resource_name = "model-server"
|
|
# 读取提交配置 & 修改配置信息 & 启动被测服务
|
|
with open(submit_config_filepath, "r") as fp:
|
|
st_config = yaml.safe_load(fp)
|
|
from utils.helm import resource_check
|
|
if language == "zh":
|
|
image = "harbor-contest.4pd.io/yuxiaojie/judge_flow/asr-live-iluvatar/asr_engine_zh_semantic:contest-v0"
|
|
elif language == "en":
|
|
image = "harbor-contest.4pd.io/yuxiaojie/judge_flow/asr-live-iluvatar/asr_engine_en_semantic:contest-v0"
|
|
else:
|
|
image = ""
|
|
st_config["values"] = resource_check(st_config.get("values", {}), image)
|
|
sut_url = register_sut(st_config, resource_name)
|
|
print(sut_url)
|
|
return sut_url
|
|
|
|
|
|
if __name__ == '__main__':
|
|
start_server("/Users/yu/Documents/code-work/asr-live-iluvatar/script/config.yaml")
|