SIDEL_ScriptsManager/verify-environments.sh

95 lines
3.4 KiB
Bash
Executable File

#!/bin/bash
# Script de verificación de entornos Docker para SIDEL Manager Scripts
# Verifica que ambos entornos conda estén correctamente configurados
echo "=== VERIFICACIÓN DE ENTORNOS CONDA ==="
echo
# Verificar que el contenedor esté ejecutándose
if ! docker ps | grep -q sidel_scriptsmanager; then
echo "❌ Error: El contenedor sidel_scriptsmanager no está ejecutándose"
echo " Ejecuta: ./docker-manage.sh start"
exit 1
fi
echo "✅ Contenedor sidel_scriptsmanager está ejecutándose"
echo
# Verificar entornos conda disponibles
echo "📋 Entornos conda disponibles:"
docker exec sidel_scriptsmanager conda env list
echo
# Verificar entorno principal (scriptsmanager)
echo "🔍 Verificando entorno scriptsmanager..."
SCRIPTSMANAGER_PYTHON=$(docker exec sidel_scriptsmanager bash -c "source activate scriptsmanager && python --version")
echo " Python version: $SCRIPTSMANAGER_PYTHON"
SCRIPTSMANAGER_FLASK=$(docker exec sidel_scriptsmanager bash -c "source activate scriptsmanager && python -c 'import flask; print(f\"Flask {flask.__version__}\")'" 2>/dev/null)
if [ $? -eq 0 ]; then
echo "$SCRIPTSMANAGER_FLASK"
else
echo " ❌ Error importando Flask"
fi
SCRIPTSMANAGER_SOCKETIO=$(docker exec sidel_scriptsmanager bash -c "source activate scriptsmanager && python -c 'import flask_socketio; print(f\"Flask-SocketIO {flask_socketio.__version__}\")'" 2>/dev/null)
if [ $? -eq 0 ]; then
echo "$SCRIPTSMANAGER_SOCKETIO"
else
echo " ❌ Error importando Flask-SocketIO"
fi
echo
# Verificar entorno TSNet
echo "🔍 Verificando entorno tsnet..."
TSNET_PYTHON=$(docker exec sidel_scriptsmanager bash -c "source activate tsnet && python --version")
echo " Python version: $TSNET_PYTHON"
TSNET_VERSION=$(docker exec sidel_scriptsmanager bash -c "source activate tsnet && python -c 'import tsnet; print(f\"TSNet {tsnet.__version__}\")'" 2>/dev/null)
if [ $? -eq 0 ]; then
echo "$TSNET_VERSION"
else
echo " ❌ Error importando TSNet"
fi
NUMPY_VERSION=$(docker exec sidel_scriptsmanager bash -c "source activate tsnet && python -c 'import numpy; print(f\"NumPy {numpy.__version__}\")'" 2>/dev/null)
if [ $? -eq 0 ]; then
echo "$NUMPY_VERSION"
else
echo " ❌ Error importando NumPy"
fi
MATPLOTLIB_VERSION=$(docker exec sidel_scriptsmanager bash -c "source activate tsnet && python -c 'import matplotlib; print(f\"Matplotlib {matplotlib.__version__}\")'" 2>/dev/null)
if [ $? -eq 0 ]; then
echo "$MATPLOTLIB_VERSION"
else
echo " ❌ Error importando Matplotlib"
fi
WNTR_VERSION=$(docker exec sidel_scriptsmanager bash -c "source activate tsnet && python -c 'import wntr; print(f\"WNTR {wntr.__version__}\")'" 2>/dev/null)
if [ $? -eq 0 ]; then
echo "$WNTR_VERSION"
else
echo " ❌ Error importando WNTR"
fi
echo
# Verificar conectividad del frontend
echo "🌐 Verificando conectividad del frontend..."
if curl -s -o /dev/null -w "%{http_code}" http://localhost:5002 | grep -q "200\|404\|500"; then
echo " ✅ Frontend accesible en http://localhost:5002"
else
echo " ❌ Frontend no accesible en http://localhost:5002"
fi
echo
echo "=== VERIFICACIÓN COMPLETADA ==="
echo
echo "📖 Para más información:"
echo " - Ver logs: ./docker-manage.sh logs"
echo " - Abrir shell: ./docker-manage.sh shell"
echo " - Listar entornos: ./docker-manage.sh envs"
echo " - Estado: ./docker-manage.sh status"