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
Build and Push Docker Image / build (push) Successful in 3m46s
This commit is contained in:
+61
-2
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user