O
O
Omnileads Docs
Español
Hacer una pregunta…
K
Links

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
En OMniLeads sobre CentOS7, se debe ejecutar la 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":
export NOMBRE_BACKUP=some_file_name
pg_dump -F c omnileads -f /tmp/pgsql-backup-$NOMBRE_BACKUP.sql --no-acl
export AWS_ACCESS_KEY_ID=$your_new_instance_bucket_key
export AWS_SECRET_ACCESS_KEY=$your_new_instance_bucket_secret_key
export S3_BUCKET_NAME=$your_new_instance_bucket_name
mkdir /opt/omnileads/asterisk/etc/asterisk/custom
cp /opt/omnileads/asterisk/etc/asterisk/*_custom* /opt/omnileads/asterisk/etc/asterisk/custom/
cp /opt/omnileads/asterisk/etc/asterisk/*_override* /opt/omnileads/asterisk/etc/asterisk/custom/
Como hemos visto en la sección de Backups, el objetivo sería poder restaurar los backups de audios personalizados, audios telefónicos, archivos personalizados de Asterisk y 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:
export S3_ENDPOINT=http://$OML_AIO_IP:9000
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:
export S3_ENDPOINT=http://$OML_DATA_IP:9000
Si en cambio, se decide por utilizar un Object Storage Externo, el dato lo deberemos obtener desde el proveedor correspondiente:
export S3_ENDPOINT=https://$object_storage_url
Finalmente, procedemos a subir todos los backups desde OMniLeads sobre CentOS7 jacia el Bucket definido en el paso anterior:
aws --endpoint ${S3_ENDPOINT} s3 sync /opt/omnileads/media_root s3://${S3_BUCKET_NAME}/media_root
aws --endpoint ${S3_ENDPOINT} s3 sync /opt/omnileads/asterisk/var/spool/asterisk/monitor/ s3://${S3_BUCKET_NAME}
aws --endpoint ${S3_ENDPOINT} s3 cp /tmp/pgsql-backup-$NOMBRE_BACKUP.sql s3://${S3_BUCKET_NAME}/backup/
aws --endpoint ${S3_ENDPOINT} s3 sync /opt/omnileads/asterisk/etc/asterisk/custom/ s3://${S3_BUCKET_NAME}/backup/asterisk/$NOMBRE_BACKUP/

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:
restore_file_timestamp: $NOMBRE_BACKUP
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:
./deploy.sh --action=restore --tenant=<tenant-folder>
Para mayor información, sugerimos visitar la documentación expuesta en el repositorio oficial del proyecto.
Última actualización 1mo ago