测试方案: - lm2机器端口映射到本机:18080, 18081, 8082-8085 - 访问URL: http://localhost:18080/dashboard       端到端测试通过:  Co-authored-by: sundapeng.sdp <sundapeng@hashdata.cn> Reviewed-on: #35 Reviewed-by: xuxt <xuxt@zgclab.edu.cn> Reviewed-by: sundapeng <sundp@mail.zgclab.edu.cn> Reviewed-by: huhy <husteryezi@163.com>
46 lines
1.1 KiB
Bash
Executable File
46 lines
1.1 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
ARGUS_BUILD_UID=${ARGUS_BUILD_UID:-2133}
|
|
ARGUS_BUILD_GID=${ARGUS_BUILD_GID:-2015}
|
|
AGENT_ROOT=${AGENT_ROOT:-/private/argus/agent}
|
|
PREPARED_FLAG="/tmp/.metric_node_prepared"
|
|
|
|
export DEBIAN_FRONTEND=${DEBIAN_FRONTEND:-noninteractive}
|
|
|
|
if [[ ! -f "$PREPARED_FLAG" ]]; then
|
|
apt-get update -qq
|
|
apt-get install -y -qq \
|
|
curl \
|
|
net-tools \
|
|
iproute2 \
|
|
lsof \
|
|
procps \
|
|
ca-certificates \
|
|
gnupg2 || {
|
|
echo "[metric-node] Failed to install base packages" >&2
|
|
exit 1
|
|
}
|
|
|
|
mkdir -p "$(dirname "$PREPARED_FLAG")"
|
|
touch "$PREPARED_FLAG"
|
|
fi
|
|
|
|
if [[ -n "${TZ:-}" ]]; then
|
|
ln -snf "/usr/share/zoneinfo/${TZ}" /etc/localtime 2>/dev/null || true
|
|
echo "$TZ" > /etc/timezone 2>/dev/null || true
|
|
fi
|
|
|
|
mkdir -p "$AGENT_ROOT"
|
|
chown -R "${ARGUS_BUILD_UID}:${ARGUS_BUILD_GID}" "$AGENT_ROOT" 2>/dev/null || true
|
|
|
|
if [[ "${METRIC_NODE_ROLE:-cpu}" == "gpu" ]]; then
|
|
if ! command -v nvidia-smi >/dev/null 2>&1; then
|
|
echo "[metric-node] nvidia-smi not available but GPU role requested" >&2
|
|
exit 1
|
|
fi
|
|
nvidia-smi || true
|
|
fi
|
|
|
|
exec "$@"
|