Saltar al contenido principal
Version: 1.2.1

Actualizar desde versiones 1.0 a 1.1

Consideraciones

Esta guía lo lleva en el proceso de actualizar una instalación pre-existente de EEI. Tenga en cuenta que:

  • la versión requerida de EEI en ejecución es la v1.0.9 (última al generar esta guía, no se probaron versiones previas)
  • se actualiza toda la solución EEI que se despliega con Docker

Traefik

Con certificados propios

Debido a un cambio menor en la configuración del proxy reverso, aquellos deployments llevados adelante con certificados propios (esto es no utilizan Let's Encrypt), necesitan regenerar el stack traefik para incorporar dicho cambio.

Si necesita re-generar los certificados, sigua esta guía. Luego ejecute lo siguiente:

docker stack rm traefik 
docker stack deploy -c servicios/traefik.yml traefik

Atención: esto pondrá a todo el deploy de EEI fuera de servicio momentaneamente

Arai-Usuarios

Puesta en mantenimiento

Inicialmente, bajamos el stack usuarios para evitar acceso y tenerlo en mantenimiento.

docker stack rm usuarios

Atención: esto pondrá a todo el servicio de SSO fuera de servicio

Realizar el backup de las bases de datos LDAP y PostgreSQL de manera preventiva.

Actualizar base PostgreSQL

cd prod/arai/util

Sin importar como se ejecuta la base PostgreSQL, es necesario realizar la exportación de datos de instancia local:

docker stack deploy --with-registry-auth --compose-file usuarios_exportar_instalacion.yml usuarios_export
docker service logs usuarios_export_idm -f

Esperar a que exporte y se detenga la ejecución. Si tuvo éxito la operación, eliminar el stack temporal usuarios_export:

docker stack rm usuarios_export

Usando los datos de instancia local exportados previamente, realizar la migración de la base de datos PostgreSQL:

docker stack deploy --with-registry-auth --compose-file usuarios_actualizar_base.yml usuarios_actualizar_base
docker service logs usuarios_actualizar_base_idm -f

Finalmente, si la migración tuvo éxito, eliminar el stack temporal usuarios_actualizar_base:

docker stack rm usuarios_actualizar_base

Actualizar base OpenLDAP

Se introducen en esta versión algunos cambios al schema de LDAP, por lo que es necesario actualizarlo previamente.

La forma de actualizar el esquema LDAP depende de si está utilizando una instalación OpenLDAP tradicional o por medio de Docker. Para mayores detalles ver acá.

Realizar el despliegue

En este punto, podremos ajustar las configuraciones mediante variables de entorno. Ver mas detalles acá.

cd prod/arai

Finalizada la configuración, hay que volver a desplegar el stack:

docker stack deploy --with-registry-auth --compose-file usuarios.yml usuarios

Si lo desea puede ejecutar una comprobación para verificar el correcto estado de los servicios.

Arai-Docs

Actualizar Base de Datos

  1. Realizar el backup de PostgreSQL de manera preventiva
pg_dump -b -O -x --clean --create --disable-triggers --if-exists -h ${DB_HOST} -p ${DB_PORT} -U ${DB_USERNAME} -d ${DB_DBNAME} -f dump_10x.sql
  1. Desplegar el servicio que actualiza la base de datos
docker stack deploy --with-registry-auth --compose-file util/docs_actualizar_base.yml docs_actualizar_base

Se puede observar el avance del proceso de migración en el log del servicio. Finalizada la migración, se puede eliminar dicho despliegue del servicio

docker service logs docs_actualizar_base_update -f
docker stack rm docs_actualizar_base

Nota: esto requiere acceso a la base de datos para modificar su estructura. Alternativamente, puede seguir esta guía para actualizar la base de datos.

Actualizar API y Worker

0. Bajar stack docs-api

docker stack rm docs

1. Recrear secret de conexion contra Sudocu

  1. Borrar secret de conexion contra Sudocu
docker secret rm docs_conexion_sudocu
  1. Volver a crear con los siguientes valores (user/password deberian estar modificados en una version anterior)
DOCS_CONEXION_SUDOCU=$(cat << EOF
"{base_uri:'http://api-server:8080/',method:'basic',user:'integracion',password:'integracion'}"
EOF
)
printf $DOCS_CONEXION_SUDOCU | docker secret create docs_conexion_sudocu -

2. Variable Organismo

En el archivo docs.env prod/arai/docs.env se puede descomentar y agregar el organismo de la institucion:

  1. Variables de Organismo ORGANISMO_TIPO=CUIL ORGANISMO_IDENTIFICADOR=XXXXXXXX

ORGANISMO_TIPO puede ser CUIT o CUIL ORGANISMO_IDENTIFICADOR debe poseer el siguiente formato:

  • 10 u 11 dígitos numéricos consecutivos ej: 20111111115
  • Formato CUIT con - y / ej1: 20-11111111-5 ej2: 20-11111111/5

3. Desplegar las nuevas versiones de la API y del Worker

cd prod/arai
docker stack deploy --with-registry-auth -c docs.yml docs

Huarpe

cd prod/arai

En este punto, podremos ajustar las configuraciones mediante variables de entorno. Finalizada la configuración, hay que actualizar el despliegue del stack huarpe:

docker stack deploy --with-registry-auth -c huarpe.yml huarpe

Sudocu

Antes de actualizar

Antes de actualizar es necesario realizar un backup de la base de datos.

pg_dump -h DB_HOST -U DB_USER -p DB_PORT sudocu > sudocu.$(date -I).sql

Borrar el stack actual:

docker stack rm sudocu

Nota: esto elimina tanto los servicios del stack como los configs (que levantan los archivos .json de configuración). Si necesita, puede actualizarlos en este punto.

Actualizar base PostgreSQL

Finalmente, ejecutamos el proceso de migración de la base de datos.

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.1.9

Nota: Tener en cuenta que SUDOCU_DB_HOST debe apuntar al host donde corre el PostgreSQL que contiene dicha base. Si

Desplegar la nueva versión

Realizar nuevo deploy:

docker stack deploy --with-registry-auth --compose-file sudocu.yml sudocu