mirror of
https://github.com/katanemo/plano.git
synced 2026-06-20 15:28:07 +02:00
Use docker cli to communicate when interact with docker system
This commit is contained in:
parent
13a9e88904
commit
d2db04987e
3 changed files with 11 additions and 25 deletions
|
|
@ -5,7 +5,7 @@ import sys
|
||||||
import glob
|
import glob
|
||||||
import docker
|
import docker
|
||||||
from docker.errors import DockerException
|
from docker.errors import DockerException
|
||||||
from cli.utils import getLogger, update_docker_host_env
|
from cli.utils import getLogger
|
||||||
from cli.consts import (
|
from cli.consts import (
|
||||||
ARCHGW_DOCKER_NAME,
|
ARCHGW_DOCKER_NAME,
|
||||||
KATANEMO_LOCAL_MODEL_LIST,
|
KATANEMO_LOCAL_MODEL_LIST,
|
||||||
|
|
|
||||||
|
|
@ -5,13 +5,12 @@ import subprocess
|
||||||
import multiprocessing
|
import multiprocessing
|
||||||
import importlib.metadata
|
import importlib.metadata
|
||||||
from cli import targets
|
from cli import targets
|
||||||
from cli.docker_cli import stream_gateway_logs
|
from cli.docker_cli import docker_validate_archgw_schema, stream_gateway_logs
|
||||||
from cli.utils import (
|
from cli.utils import (
|
||||||
getLogger,
|
getLogger,
|
||||||
get_llm_provider_access_keys,
|
get_llm_provider_access_keys,
|
||||||
load_env_file_to_dict,
|
load_env_file_to_dict,
|
||||||
stream_access_logs,
|
stream_access_logs,
|
||||||
validate_schema,
|
|
||||||
)
|
)
|
||||||
from cli.core import (
|
from cli.core import (
|
||||||
start_arch_modelserver,
|
start_arch_modelserver,
|
||||||
|
|
@ -173,11 +172,15 @@ def up(file, path, service, foreground):
|
||||||
|
|
||||||
log.info(f"Validating {arch_config_file}")
|
log.info(f"Validating {arch_config_file}")
|
||||||
|
|
||||||
try:
|
(
|
||||||
validate_schema(arch_config_file)
|
validation_return_code,
|
||||||
except Exception as e:
|
validation_stdout,
|
||||||
log.info(f"Exiting archgw up: validation failed")
|
validation_stderr,
|
||||||
log.info(f"Error: {str(e)}")
|
) = docker_validate_archgw_schema(arch_config_file)
|
||||||
|
if validation_return_code != 0:
|
||||||
|
log.info(f"Error: Validation failed. Exiting")
|
||||||
|
log.info(f"Validation stdout: {validation_stdout}")
|
||||||
|
log.info(f"Validation stderr: {validation_stderr}")
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
log.info("Starting arch model server and arch gateway")
|
log.info("Starting arch model server and arch gateway")
|
||||||
|
|
|
||||||
|
|
@ -24,23 +24,6 @@ def getLogger(name="cli"):
|
||||||
log = getLogger(__name__)
|
log = getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
def update_docker_host_env():
|
|
||||||
"""
|
|
||||||
Update DOCKER_HOST environment variable to use the local Docker socket
|
|
||||||
"""
|
|
||||||
if os.getenv("DOCKER_HOST"):
|
|
||||||
return
|
|
||||||
|
|
||||||
default_docker_socket = os.getenv("DEFAULT_DOCKER_SOCKET", "/var/run/docker.sock")
|
|
||||||
if not os.path.exists(default_docker_socket):
|
|
||||||
home_dir = os.getenv("HOME")
|
|
||||||
docker_host = f"unix://{home_dir}/.docker/run/docker.sock"
|
|
||||||
log.info(
|
|
||||||
f"Default docker socket {default_docker_socket} not found, using {docker_host}"
|
|
||||||
)
|
|
||||||
os.environ["DOCKER_HOST"] = docker_host
|
|
||||||
|
|
||||||
|
|
||||||
def validate_schema(arch_config_file: str) -> None:
|
def validate_schema(arch_config_file: str) -> None:
|
||||||
try:
|
try:
|
||||||
try:
|
try:
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue