Actualizar PegaProx: problemas reales tras actualizar

Seguimos probando PegaProx en laboratorio y esta vez toca hablar de algo que siempre termina llegando antes o después: las actualizaciones.

Después de instalar la plataforma y empezar a usarla en un entorno real con varios clústeres Proxmox, decidí aplicar las nuevas versiones que iban apareciendo. La idea era comprobar cómo se comporta el proyecto cuando empieza a evolucionar y qué pasa cuando algo no sale como esperas.

En este artículo voy a contar una incidencia real tras actualizar PegaProx y cómo la fui diagnosticando y resolviendo paso a paso.

Actualización inicial y pérdida de acceso al panel

Mientras estaba probando la plataforma me apareció una actualización disponible desde la propia interfaz web. La apliqué sin demasiadas complicaciones, pero al poco tiempo la web dejó de responder y el servicio no arrancaba correctamente.

Actualización de PegaProx Proxmox mostrando errores tras update en entorno de laboratorio

En mi caso la instalación no era mediante repositorio Debian, sino una instalación manual bajo:

/opt/PegaProx

Eso ya me hizo sospechar que el problema podía venir por una actualización incompleta o por cambios recientes en el código.

Revisando los logs del servicio con journalctl apareció el primer error claro:

ModuleNotFoundError: No module named 'pegaprox.api.site_recovery'

Esto indicaba que la nueva versión estaba intentando cargar componentes que no existían en mi instalación local.

Diagnóstico comprobando ficheros faltantes

Para confirmarlo lancé algunas verificaciones directamente en el directorio de instalación:

cd /opt/PegaProxecho "=== Comprobacion de ficheros ==="
ls -l pegaprox/api/site_recovery.py
ls -l pegaprox/background/site_recovery.py
grep -n "site_recovery" pegaprox/api/__init__.py
grep -n "background.site_recovery" pegaprox/app.py

El resultado fue bastante claro. Los ficheros no estaban presentes, pero el código sí los estaba referenciando.

ls: no se puede acceder a 'pegaprox/api/site_recovery.py': No existe el fichero o el directorio
ls: no se puede acceder a 'pegaprox/background/site_recovery.py': No existe el fichero o el directorio

En otras palabras, la instalación manual había quedado a medio camino tras la actualización.

Curiosamente este mismo problema ya había sido reportado unos días antes en el repositorio oficial del proyecto:

https://github.com/PegaProx/project-pegaprox/issues/172

Según comentaron los desarrolladores, la incidencia fue identificada y corregida posteriormente.

Reparación forzando actualización completa

Para recuperar el servicio lo primero que hice fue parar PegaProx y realizar una copia de seguridad de la instalación actual:

systemctl stop pegaproxmkdir -p /root/pegaprox-backupstar -czf /root/pegaprox-backups/pegaprox-pre-fix-$(date +%F-%H%M%S).tar.gz \
/opt/PegaProx/config \
/opt/PegaProx/logs \
/opt/PegaProx/version.json \
/opt/PegaProx/pegaprox \
/opt/PegaProx/web \
/opt/PegaProx/static \
/opt/PegaProx/pegaprox_multi_cluster.py \
/opt/PegaProx/update.sh 2>/dev/null

Después forcé la actualización completa descargando de nuevo el script oficial:

cd /opt/PegaProxcurl -fsSLO https://raw.githubusercontent.com/PegaProx/project-pegaprox/main/update.sh
chmod +x update.shbash ./update.sh --force

Tras reiniciar el servicio volvió a arrancar correctamente y recuperé el acceso al panel web.

Nueva incidencia tras actualizar a la versión 0.9.3

Días después decidí actualizar nuevamente la plataforma, esta vez hasta la versión 0.9.3.

La actualización parecía haberse aplicado correctamente, pero el servicio volvió a fallar durante el arranque. Revisando los logs apareció un error distinto al anterior:

PermissionError: [Errno 13] Permission denied: 'plugins'

En este caso PegaProx intentaba crear automáticamente el directorio plugins durante el arranque, pero el usuario del servicio no tenía permisos de escritura en el directorio de trabajo.

Esto no tenía relación con el fallo anterior de módulos ausentes, sino con permisos del sistema de ficheros en instalaciones manuales bajo /opt/PegaProx.

La solución fue bastante directa:

systemctl stop pegaproxmkdir -p /opt/PegaProx/plugins
chown -R pegaprox:pegaprox /opt/PegaProxsystemctl start pegaprox

Tras corregir los permisos el servicio volvió a arrancar con normalidad y desde entonces no he vuelto a tener incidencias relacionadas con las actualizaciones.

pegaprox funcionando correctamente tras actualizar

Qué conclusiones saco de esta experiencia

Esta prueba me ha servido para entender bastante mejor cómo está evolucionando el proyecto y qué implicaciones tiene el método de instalación elegido.

Por un lado, es evidente que PegaProx está avanzando rápido y eso implica que pueden aparecer pequeños problemas en entornos donde la instalación no está completamente controlada o se actualiza manualmente.

Por otro lado, también refuerza una idea bastante clara: si se busca algo más estable o más fácil de mantener, tiene bastante sentido utilizar el método de instalación mediante repositorio Debian que han añadido recientemente los desarrolladores, en lugar de depender únicamente de instalaciones manuales en /opt/PegaProx.

Sensaciones tras varias actualizaciones reales

Más allá de estas incidencias puntuales, la sensación general sigue siendo positiva.

El proyecto tiene buena pinta, el enfoque es interesante y la plataforma resulta útil cuando empiezas a trabajar con varios entornos Proxmox. Este tipo de problemas forman parte del proceso normal de maduración de una herramienta y también ayudan a comprobar cómo responde ante situaciones reales.

En mi caso las pruebas han servido para validar que, con un poco de diagnóstico y entendiendo cómo está desplegado el servicio, es posible recuperar el entorno sin demasiadas complicaciones.

Conclusión

Actualizar una plataforma en desarrollo siempre implica cierto riesgo, especialmente cuando se utilizan métodos de instalación manuales.

En este caso las incidencias han sido asumibles y han permitido entender mejor cómo funciona internamente PegaProx y qué camino puede ser más recomendable a futuro.

Si estás probando la herramienta o planteándote usarla en laboratorio, merece la pena tener en cuenta estos detalles y valorar el uso del repositorio oficial para simplificar el mantenimiento.

Puedes ver cómo instalar la plataforma en este artículo:
https://blogvirtualizado.com/instalar-pegaprox-proxmox-paso-a-paso/

Y si quieres entender mejor la arquitectura del proyecto puedes leer:

https://blogvirtualizado.com/pegaprox-proxmox-multi-cluster/

Como siempre, espero que os sirva.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *