[RESUELTO] error en sudocu api luego de actualizar

Luego de actualizar a la ultima version (EEI 1.6) no levanta el servicio de sudocu_api-server, y en el log se ve el siguiente error:

ERROR DE PROGRAMACION
Error: getaddrinfo ENOTFOUND cache
at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:71:26)
ERROR DE PROGRAMACION
Error: getaddrinfo ENOTFOUND cache
at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:71:26)
[ioredis] Unhandled error event: Error: getaddrinfo ENOTFOUND cache
at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:71:26)
Error: getaddrinfo ENOTFOUND cache
at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:71:26) {
errno: -3008,
code: ‘ENOTFOUND’,
syscall: ‘getaddrinfo’,
hostname: ‘cache’
}
[ioredis] Unhandled error event: Error: getaddrinfo ENOTFOUND cache
at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:71:26)
GET /ping 503 2.152 ms - -
GET /ping 503 0.361 ms - -
GET /ping 503 0.414 ms - -

¿alguna pista de que puede ser? ¿a donde intenta hacer ping el api?
Saludos.

Hola Diego, por los errores pareceria que hay algun problema con el contenedor de redis que esta dentro de sudocu.yml (el servicio se llama cache) podes revisar si está levantado y responde bien?

Saludos,

Pablo.

Hola Pablo, si Redis esta corriendo, el servicio sudocu_cache esta andando y no muestra nada raro. ¿que prueba puedo hacer para saber que esta funcionando bien?

… el unico servicio que no levanta es sudocu_api-server… todos los demas levantan sin problema (inclusive el worker). El api server inicia, da esos errores que te mostré y se detiene. No sabemos por donde más buscarle.

Hola Pablo, ya pudimos solucionar el tema!

El problema era la actualización de la base de sudocu. No estaba en la ultima versión. Corriendo el sudocu-db-instalador se soluciono:

docker run --rm
–env SUDOCU_DB_HOST=ip-host-db-sudocu
–env SUDOCU_DB_NAME=sudocu
–env SUDOCU_DB_PORT=5432
–env SUDOCU_DB_USER=postgres
–env SUDOCU_DB_PASSWORD=postgres
ungs/sudocu-db-instalador:1.4.7

Por ahi como sugerencia se puede ver que el api de un error mas claro durante el arranque, o que haga algún control sobre la versión de la base que necesita.

Por otro lado, nosotros seguimos esta guía: https://expedientes.siu.edu.ar/docs/1.5-to-1.6/
Se me ocurren un par de cosas que se pueden aclarar.

  1. Indicar que se debe actualizar sudocu (parece una obviedad pero como sólo se habla de arai-personas y los otros módulos se nos pasó)

  2. Aclarar desde el inicio que el tema de la encriptación en LDAP con BCrypt es opcional. En la guía habla directamente de actualizar la base LDAP y esto no queda muy claro. En debian openldap no tiene soporte Bcrypt y dimos muchas vueltas con esto, hasta que mirando documentación de arai-usuarios vimos que en realidad no hacia falta actualizar ldap si no se quiere usar BCrypt.

En fin, lo bueno es que pudimos avanzar :slight_smile:
Saludos!

Buen día Diego,
Buenísimo que pudieron avanzar.
Es muy valioso tu aporte en cuanto a las mejoras que se pueden realizar, tendremos en cuenta tus sugerencias, seguramente será de provecho para toda la comunidad.

Respecto a la versión de sudocu siempre hay que tener en cuenta el changelog, se puede acceder al changelog para cada versión aquí:Solución de Expediente Electrónico Integrado · Una solución integral para los expedientes de su institución que transforma y agiliza todos los procesos de gestión. Distribuida a través de un repositorio de configuraciones que facilita el despliegue de la solución sobre Docker Swarm.
Una buena práctica es comparar que versión de sudocu se tiene instalada por ejemplo, observando que imagen está levantando el servicio, la misma debe coincidir con la versión de sudocu indica en el changelog.
Ver que versión muestra en la base de datos (esquema “sudocu”, tabla “config”), si no coincide con la versión instalada significa que aún no corrió el migrador.
Por las dudas tener en cuenta que si en el changelog de la última versión no figura la versión de sudocu, es porque la actualización sudocu se encuentra en una versión anterior a la que se está observando.

Saludos!