Migración desde CentOS7
Migrando OMniLeads desde CentOS-7 🔄
Desde los inicios del Proyecto, las instalaciones se han basado en sistemas operativos CentOS7. Sin embargo, dada su pronta fecha de expiración (end-of-life), el equipo de OMniLeads ha trabajado arduamente para soportar sistemas operativos modernos como Ubuntu Server, Debian Server, Rocky Linux, entre otros.
A partir de la adopción de una Arquitecturas basada en Contenedores y métodos de instalación totalmente automatizados, las tareas de Administración y Mantenimiento IT se han simplificado de manera significativa debido a la clara abstracción de las dependencias de capas subyacentes.
Para lograr una correcta migración desde una instancia OMniLeads en CentOS7 hacia su arquitectura basada en contenedores, es necesario realizar un Fresh Install de OMniLeads sobre otro host (o grupo de hosts según el método de instalación involucrado) asegurando que las variables listadas en el inventory.yml deben tener la necesaria correspondencia con su contraparte en la instancia de CentOS7. A saber:
ami_user
ami_password
postgres_password
postgres_database
postgres_user
dialer_user
dialer_password
IMPORTANTE: Para el procedimiento, debemos considerar que la versión de la imágen de Postgres a desplegar con OMniLeads debe ser "omnileads/postgres:230624.01". Por lo tanto, se debe agregar el siguiente cambio en la variable de groupvars_all/all inherente al servicio:
En OMniLeads sobre CentOS7, se debe ejecutar el siguiente comando a los efectos de obtener el backup de archivos correspondientes. Es importante aclarar que el backup resultante será subido al correspondiente Object Storage que la nueva instancia de OMniLeads utilizó en su despliegue "fresh":
Como hemos visto en la sección de Backups, el objetivo sería poder restaurar los backups de audios personalizados, audios telefónicos, backup de base de datos, etc, sobre el nuevo deploy de OMniLeads.
Para migrar la información a un OMniLeads bajo el método de instalación AIO, exportamos la variable de S3_ENDPOINT como se muestra a continuación:
Para el caso de un OMniLeads bajo el método de instalación AIT (cluster), exportamos la variable de S3_ENDPOINT de la siguiente manera:
Si en cambio, se decide por utilizar un Object Storage Externo, el dato lo deberemos obtener desde el proveedor correspondiente:
Finalmente, procedemos a subir todos los backups desde OMniLeads sobre CentOS7 jacia el Bucket definido en el paso anterior:
Restaurando la información
debemos modificar los últimos dos parámetros del inventory.yml correspondiente a nuestra carpeta de tenants. Ésto último es necesario para indicar que el bucket no maneja certificados confiables, y para configurar el timestamp del backup a restaurar:
De esta manera, ejecutando el siguiente script con la action "restore", se procederá a reinstaurar el backup tomado en el paso previo sobre la nueva instancia desplegada y contar asi con un ambiente migrado:
Ahora, se debe revertir a la imágen original de Postgres, lo cual implica restabelcer el contenido de group_vars/all a su estado previo:
Finalmente, ejecutamos el upgrade:
Personalizaciones de Asterisk Dialplan
OMniLeads se basa en contenedores (imágenes), por lo tanto todo cambio de código efectuado dentro del container es "efímero".
Para dotar al sistema de modificaciones permanentes (dialplan, scripts, configuraciones particulares), se recomienda utilizar imágenes personalizadas. Un ejemplo de cómo lograr dicho objetivo se expone en el siguiente repo.
Para mayor información, sugerimos visitar la documentación expuesta en el repositorio oficial del proyecto.
Última actualización