[#29] 暂时恢复sys test
This commit is contained in:
parent
1d9a8ec695
commit
0b1ccbd87f
@ -1,61 +0,0 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
||||
TEST_DIR="$(cd "$SCRIPT_DIR/.." && pwd)"
|
||||
REPO_ROOT="$(cd "$TEST_DIR/../../.." && pwd)"
|
||||
PLUGIN_DIR="$REPO_ROOT/src/metric/client-plugins/all-in-one-full"
|
||||
|
||||
# 加载 .env
|
||||
if [ -f "$TEST_DIR/.env" ]; then
|
||||
source "$TEST_DIR/.env"
|
||||
fi
|
||||
|
||||
# 检测容器挂载目录
|
||||
if docker ps --format '{{.Names}}' | grep -q '^argus-ftp$'; then
|
||||
FTP_MOUNT=$(docker inspect argus-ftp --format '{{range .Mounts}}{{if eq .Destination "/private/argus/ftp"}}{{.Source}}{{end}}{{end}}')
|
||||
OUTPUT_DIR="${FTP_MOUNT}/share"
|
||||
echo "[02] 容器挂载: $OUTPUT_DIR"
|
||||
else
|
||||
OUTPUT_DIR="${DATA_ROOT:-$TEST_DIR/private}/ftp/share"
|
||||
echo "[02] 默认路径: $OUTPUT_DIR"
|
||||
fi
|
||||
|
||||
OWNER="${ARGUS_BUILD_UID:-2133}:${ARGUS_BUILD_GID:-2015}"
|
||||
|
||||
cd "$PLUGIN_DIR"
|
||||
|
||||
echo "[02] 递增版本号..."
|
||||
bash scripts/version-manager.sh bump minor
|
||||
|
||||
VERSION_FILE="config/VERSION"
|
||||
if [ ! -f "$VERSION_FILE" ]; then
|
||||
echo "[02] 错误: 未找到 $VERSION_FILE"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
VERSION=$(cat "$VERSION_FILE" | tr -d '[:space:]')
|
||||
echo "[02] 新版本: $VERSION"
|
||||
|
||||
echo "[02] 构建安装包..."
|
||||
bash scripts/package_artifact.sh --force
|
||||
|
||||
echo "[02] 发布到 FTP: $OUTPUT_DIR"
|
||||
sudo bash scripts/publish_artifact.sh "$VERSION" --output-dir "$OUTPUT_DIR" --owner "$OWNER"
|
||||
|
||||
echo "[02] 设置文件权限..."
|
||||
# 设置所有者
|
||||
sudo chown -R "$OWNER" "$OUTPUT_DIR"
|
||||
# 设置目录权限为 755 (rwxr-xr-x)
|
||||
sudo find "$OUTPUT_DIR" -type d -exec chmod 755 {} \;
|
||||
# 设置文件权限为 644 (rw-r--r--)
|
||||
sudo find "$OUTPUT_DIR" -type f -exec chmod 644 {} \;
|
||||
# 特别处理 .sh 文件,给予执行权限 755
|
||||
sudo find "$OUTPUT_DIR" -type f -name "*.sh" -exec chmod 755 {} \;
|
||||
echo "[02] 权限设置完成 (UID:GID=$OWNER, dirs=755, files=644, scripts=755)"
|
||||
|
||||
echo "[02] 发布完成,验证文件..."
|
||||
ls -lh "$OUTPUT_DIR"
|
||||
|
||||
echo "[02] 完成"
|
||||
|
||||
@ -1,33 +0,0 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
FTP_SERVER="${FTP_SERVER:-172.30.0.40}"
|
||||
FTP_USER="${FTP_USER:-ftpuser}"
|
||||
FTP_PASSWORD="${FTP_PASSWORD:-ZGClab1234!}"
|
||||
FTP_PORT="${FTP_PORT:-21}"
|
||||
|
||||
FTP_HOST="${FTP_SERVER}"
|
||||
|
||||
echo "[03] 进入测试节点执行安装..."
|
||||
echo "[03] 使用 FTP 地址: ${FTP_HOST}:${FTP_PORT}"
|
||||
|
||||
docker exec argus-metric-test-node bash -c "
|
||||
set -e
|
||||
|
||||
if ! command -v curl &>/dev/null; then
|
||||
echo '[03] curl 未安装,正在安装...'
|
||||
apt-get update && apt-get install -y curl
|
||||
fi
|
||||
|
||||
cd /tmp
|
||||
echo '[03] 下载 setup.sh...'
|
||||
curl -u ${FTP_USER}:${FTP_PASSWORD} ftp://${FTP_HOST}:${FTP_PORT}/setup.sh -o setup.sh
|
||||
|
||||
echo '[03] 执行安装...'
|
||||
chmod +x setup.sh
|
||||
bash setup.sh --server ${FTP_HOST} --user ${FTP_USER} --password '${FTP_PASSWORD}' --port ${FTP_PORT}
|
||||
|
||||
echo '[03] 安装完成'
|
||||
"
|
||||
|
||||
echo "[03] 完成"
|
||||
@ -1,55 +0,0 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
TEST_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
|
||||
REPO_ROOT="$(cd "$TEST_ROOT/../../.." && pwd)"
|
||||
|
||||
FTP_SERVER="${FTP_SERVER:-172.29.0.40}"
|
||||
FTP_USER="${FTP_USER:-ftpuser}"
|
||||
FTP_PASSWORD="${FTP_PASSWORD:-ZGClab1234!}"
|
||||
FTP_PORT="${FTP_PORT:-21}"
|
||||
|
||||
FTP_HOST="${FTP_SERVER}"
|
||||
|
||||
echo "[04] 检测GPU环境..."
|
||||
# 检测GPU环境
|
||||
GPU_CHECK_SCRIPT="$REPO_ROOT/metric/tests/scripts/common/check-gpu.sh"
|
||||
if [ -f "$GPU_CHECK_SCRIPT" ]; then
|
||||
if bash "$GPU_CHECK_SCRIPT"; then
|
||||
echo "[04] GPU环境可用,继续执行GPU节点安装"
|
||||
GPU_AVAILABLE=true
|
||||
else
|
||||
echo "[04] GPU环境不可用,跳过GPU节点安装"
|
||||
GPU_AVAILABLE=false
|
||||
exit 0
|
||||
fi
|
||||
else
|
||||
echo "[04] 未找到GPU检测脚本: $GPU_CHECK_SCRIPT,跳过GPU节点安装"
|
||||
GPU_AVAILABLE=false
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo "[04] 进入测试节点执行安装..."
|
||||
echo "[04] 使用 FTP 地址: ${FTP_HOST}:${FTP_PORT}"
|
||||
|
||||
docker exec argus-metric-test-gpu-node bash -c "
|
||||
set -e
|
||||
|
||||
if ! command -v curl &>/dev/null; then
|
||||
echo '[04] curl 未安装,正在安装...'
|
||||
apt-get update && apt-get install -y curl
|
||||
fi
|
||||
|
||||
cd /tmp
|
||||
echo '[04] 下载 setup.sh...'
|
||||
curl -u ${FTP_USER}:${FTP_PASSWORD} ftp://${FTP_HOST}:${FTP_PORT}/setup.sh -o setup.sh
|
||||
|
||||
echo '[04] 执行安装...'
|
||||
chmod +x setup.sh
|
||||
bash setup.sh --server ${FTP_HOST} --user ${FTP_USER} --password '${FTP_PASSWORD}' --port ${FTP_PORT}
|
||||
|
||||
echo '[04] 安装完成'
|
||||
"
|
||||
|
||||
echo "[04] 完成"
|
||||
@ -1,96 +0,0 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
echo "[04] 验证安装结果 - 检查监控端口..."
|
||||
echo "=========================================="
|
||||
|
||||
# 检查容器是否运行
|
||||
if ! docker ps --format '{{.Names}}' | grep -q '^argus-metric-test-node$'; then
|
||||
echo "错误: 容器 argus-metric-test-node 未运行"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
ERRORS=0
|
||||
|
||||
# ==================== 检查监听端口 ====================
|
||||
echo ""
|
||||
echo "[1] 检查监听端口..."
|
||||
echo "----------------------------------------"
|
||||
CHECK_RESULT=$(docker exec argus-metric-test-node bash -c '
|
||||
if command -v netstat >/dev/null 2>&1; then
|
||||
echo "使用 netstat 检查端口:"
|
||||
if netstat -tlnp 2>/dev/null | grep -E ":(9100|9400|2020)"; then
|
||||
echo "✓ 找到监控端口"
|
||||
exit 0
|
||||
else
|
||||
echo "✗ 未找到监控端口 (9100/9400/2020)"
|
||||
exit 1
|
||||
fi
|
||||
elif command -v ss >/dev/null 2>&1; then
|
||||
echo "使用 ss 检查端口:"
|
||||
if ss -tlnp 2>/dev/null | grep -E ":(9100|9400|2020)"; then
|
||||
echo "✓ 找到监控端口"
|
||||
exit 0
|
||||
else
|
||||
echo "✗ 未找到监控端口 (9100/9400/2020)"
|
||||
exit 1
|
||||
fi
|
||||
elif command -v lsof >/dev/null 2>&1; then
|
||||
echo "使用 lsof 检查端口:"
|
||||
if lsof -i :9100 -i :9400 -i :2020 2>/dev/null | grep LISTEN; then
|
||||
echo "✓ 找到监控端口"
|
||||
exit 0
|
||||
else
|
||||
echo "✗ 未找到监控端口 (9100/9400/2020)"
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
echo "? 没有可用的端口检查工具 (netstat/ss/lsof),跳过此检查"
|
||||
exit 0
|
||||
fi
|
||||
')
|
||||
echo "$CHECK_RESULT"
|
||||
# 只有在明确失败时才计入错误(exit 1),没有工具(exit 0)不算错误
|
||||
if echo "$CHECK_RESULT" | grep -q "✗ 未找到监控端口"; then
|
||||
ERRORS=$((ERRORS + 1))
|
||||
fi
|
||||
|
||||
# ==================== 测试端口连通性 ====================
|
||||
echo ""
|
||||
echo "[2] 测试端口连通性..."
|
||||
echo "----------------------------------------"
|
||||
docker exec argus-metric-test-node bash -c '
|
||||
if command -v curl >/dev/null 2>&1; then
|
||||
FAILED=0
|
||||
for port in 9100 9400 2020; do
|
||||
echo -n "端口 $port: "
|
||||
if curl -s --connect-timeout 2 "http://localhost:$port/metrics" > /dev/null 2>&1; then
|
||||
echo "✓ 可访问 (/metrics)"
|
||||
elif curl -s --connect-timeout 2 "http://localhost:$port/" > /dev/null 2>&1; then
|
||||
echo "✓ 可访问 (根路径)"
|
||||
else
|
||||
echo "✗ 不可访问"
|
||||
FAILED=$((FAILED + 1))
|
||||
fi
|
||||
done
|
||||
exit $FAILED
|
||||
else
|
||||
echo "? curl 不可用,跳过连通性测试"
|
||||
exit 0
|
||||
fi
|
||||
' || ERRORS=$((ERRORS + 1))
|
||||
|
||||
echo ""
|
||||
echo "=========================================="
|
||||
if [ $ERRORS -eq 0 ]; then
|
||||
echo "✓ [04] 验证完成 - 所有端口检查通过"
|
||||
else
|
||||
echo "✗ [04] 验证失败 - 发现 $ERRORS 个问题"
|
||||
echo ""
|
||||
echo "调试建议:"
|
||||
echo " 1. 进入容器检查: docker exec -it argus-metric-test-node bash"
|
||||
echo " 2. 查看进程: docker exec argus-metric-test-node ps aux"
|
||||
echo " 3. 查看日志: docker exec argus-metric-test-node cat /tmp/argus_install.log"
|
||||
exit 1
|
||||
fi
|
||||
echo "=========================================="
|
||||
Loading…
x
Reference in New Issue
Block a user