Update Dockerfile to include procps package and enhance start.sh with additional ExaBGP process checks. The script now verifies the ExaBGP process status after startup and checks for the prefix loader process, improving monitoring and troubleshooting capabilities.
Build and Push Docker Image / build (push) Successful in 3m46s

This commit is contained in:
2025-07-11 17:37:00 +07:00
parent 5feedd9a39
commit 063c85e4c1
2 changed files with 259 additions and 2 deletions
+61 -2
View File
@@ -79,10 +79,69 @@ fi
echo "Starting ExaBGP..."
LOG_LEVEL=${BGP_LOG_LEVEL:-INFO}
# Запуск с подробным логированием
exabgp --log.level $LOG_LEVEL /app/exabgp.conf > /app/logs/exabgp.log 2>&1 &
# Дополнительная проверка конфигурационного файла
echo "Final config file check:"
ls -la /app/exabgp.conf
echo "Config file first few lines:"
head -10 /app/exabgp.conf
echo "---"
# Проверка что ExaBGP может прочитать файл
echo "Testing ExaBGP config validation:"
if exabgp --validate /app/exabgp.conf; then
echo "Configuration validation passed"
else
echo "Configuration validation failed"
echo "Full config content:"
cat /app/exabgp.conf
exit 1
fi
echo "---"
# Проверка переменных окружения и путей
echo "Environment check:"
echo "PWD: $PWD"
echo "PATH: $PATH"
echo "PYTHONPATH: $PYTHONPATH"
echo "BGP_ variables:"
env | grep BGP_ || echo "No BGP_ variables found"
echo "---"
# Запуск ExaBGP
echo "Starting ExaBGP with config: /app/exabgp.conf"
# Проверяем что файл существует и читается
if [ ! -f "/app/exabgp.conf" ]; then
echo "ERROR: Configuration file /app/exabgp.conf not found!"
exit 1
fi
if [ ! -r "/app/exabgp.conf" ]; then
echo "ERROR: Configuration file /app/exabgp.conf is not readable!"
exit 1
fi
# Запуск ExaBGP с правильными параметрами
cd /app
if [ -n "$LOG_LEVEL" ]; then
exabgp --log.level $LOG_LEVEL /app/exabgp.conf > /app/logs/exabgp.log 2>&1 &
else
exabgp /app/exabgp.conf > /app/logs/exabgp.log 2>&1 &
fi
EXABGP_PID=$!
# Проверяем что процесс запустился
sleep 3
if ! kill -0 $EXABGP_PID 2>/dev/null; then
echo "Failed to start ExaBGP. Checking logs:"
cat /app/logs/exabgp.log
echo "Trying to run ExaBGP directly for diagnosis:"
exabgp --version
echo "---"
exabgp /app/exabgp.conf
exit 1
fi
# Сохранение PID
echo $EXABGP_PID > /app/logs/exabgp.pid