refactor: metric e2e测试流程融合到 sys/tests 步骤中(bootstrap/up/publish/installer);

refs #29
This commit is contained in:
sundapeng.sdp
2025-10-20 17:59:17 +08:00
parent c4582c99bc
commit 835e81282f
6 changed files with 379 additions and 5 deletions

View File

@@ -27,17 +27,34 @@ mkdir -p \
"$PRIVATE_CORE/argus/bind" \
"$PRIVATE_CORE/argus/master" \
"$PRIVATE_CORE/argus/metric/prometheus" \
"$PRIVATE_CORE/argus/metric/ftp/share" \
"$PRIVATE_CORE/argus/metric/grafana/data" \
"$PRIVATE_CORE/argus/metric/grafana/logs" \
"$PRIVATE_CORE/argus/metric/grafana/plugins" \
"$PRIVATE_CORE/argus/metric/grafana/provisioning/datasources" \
"$PRIVATE_CORE/argus/metric/grafana/provisioning/dashboards" \
"$PRIVATE_CORE/argus/metric/grafana/data/sessions" \
"$PRIVATE_CORE/argus/metric/grafana/data/dashboards" \
"$PRIVATE_CORE/argus/metric/grafana/config" \
"$PRIVATE_CORE/argus/metric/prometheus/data" \
"$PRIVATE_CORE/argus/metric/prometheus/rules" \
"$PRIVATE_CORE/argus/metric/prometheus/targets" \
"$PRIVATE_CORE/argus/agent" \
"$PRIVATE_CORE/argus/log/elasticsearch" \
"$PRIVATE_CORE/argus/log/kibana" \
"$PRIVATE_NODEA/argus/agent/dev-yyrshare-nbnyx10-cp2f-pod-0/health" \
"$PRIVATE_NODEB/argus/agent/dev-yyrshare-uuuu10-ep2f-pod-0/health" \
"$TMP_DIR"
# Align ownership for supervisor-managed services (ES/Kibana expect UID/GID inside container)
# Align ownership for supervisor-managed services (ES/Kibana/Grafana expect UID/GID inside container)
echo "[INFO] Fixing ownership for core private directories..."
chown -R "${ARGUS_BUILD_UID}:${ARGUS_BUILD_GID}" \
"$PRIVATE_CORE/argus/log/elasticsearch" \
"$PRIVATE_CORE/argus/log/kibana" \
"$PRIVATE_CORE/argus/metric/grafana" \
"$PRIVATE_CORE/argus/metric/prometheus" \
"$PRIVATE_CORE/argus/metric/ftp" \
"$PRIVATE_CORE/argus/agent" \
"$PRIVATE_CORE/argus/etc" 2>/dev/null || true
echo "[INFO] Distributing update-dns.sh for core services (bind/master/es/kibana)"
@@ -55,6 +72,11 @@ ensure_image "argus-elasticsearch:latest"
ensure_image "argus-kibana:latest"
ensure_image "argus-bind9:latest"
ensure_image "argus-master:latest"
ensure_image "argus-metric-ftp:latest"
ensure_image "argus-metric-prometheus:latest"
ensure_image "argus-metric-grafana:latest"
ensure_image "argus-metric-test-node:latest"
ensure_image "argus-metric-test-gpu-node:latest"
echo "[INFO] Building agent binary..."
pushd "$REPO_ROOT/src/agent" >/dev/null
@@ -68,10 +90,44 @@ if [[ ! -x "$AGENT_BIN" ]]; then
fi
echo "$AGENT_BIN" > "$TMP_DIR/agent_binary_path"
echo "[INFO] Writing .env with UID/GID"
# 检测GPU环境
echo "[INFO] 检测GPU环境..."
GPU_CHECK_SCRIPT="$REPO_ROOT/src/metric/tests/scripts/common/check-gpu.sh"
if [ -f "$GPU_CHECK_SCRIPT" ]; then
if bash "$GPU_CHECK_SCRIPT" >/dev/null 2>&1; then
echo "[INFO] GPU环境可用,将启动test-gpu-node容器"
GPU_AVAILABLE=true
else
echo "[INFO] GPU环境不可用,跳过test-gpu-node容器"
GPU_AVAILABLE=false
fi
else
echo "[WARN] 未找到GPU检测脚本: $GPU_CHECK_SCRIPT,跳过GPU检测"
GPU_AVAILABLE=false
fi
echo "[INFO] Writing .env with UID/GID and metric configuration"
cat > "$TEST_ROOT/.env" <<EOF
ARGUS_BUILD_UID=$ARGUS_BUILD_UID
ARGUS_BUILD_GID=$ARGUS_BUILD_GID
# GPU 配置
GPU_AVAILABLE=$GPU_AVAILABLE
# FTP 配置
FTP_PORT=21
FTP_DATA_PORT=20
FTP_PASSWORD=ZGClab1234!
FTP_DOMAIN=ftp.metric.argus.com
# Prometheus 配置
PROMETHEUS_PORT=9090
# Grafana 配置
GRAFANA_PORT=3000
# 网络配置
USE_INTRANET=false
EOF
echo "[OK] Bootstrap completed"