Upgrade AWX Ansible

En primer lugar instalamos todos los componentes necesario para la actualización

apt -y install python3 python3-pip git pwgen vim python3-docker python3-tower-cli

pip3 install requests==2.14.2

Instalamos docker-compose

pip3 install docker-compose ansible
pip install docker-compose ansible

También podemos instalar de la siguiente forma docker-compose

En caso de no tener seleccionado como principal la versión de pyton 3 lo configuramos

update-alternatives --install /usr/bin/python python /usr/bin/python3 2

Creamos una carpeta temporal donde guardaremos los backups

mkdir /tmp/ansible/
cd /tmp/ansible/

Realizamos un backup de la base de datos

docker exec awx_postgres pg_dump -U awx -Fc awx > /tmp/ansible/awx_postgres_db.dump

de la misma forma, hacemos un backup de AWX

tower-cli config host https://192.168.1.68
tower-cli config verify_ssl false
tower-cli config username admin
tower-cli config password PASSWORD
tower-cli receive --all > /tmp/ansible/backup.json

Comprobamos que hayan creado correctamente los backups

 ls -lstha
total 17M
116K -rw-r--r-- 1 root root 116K Apr 29 17:28 backup.json
0 drwxr-xr-x 2 root root 53 Apr 29 17:22 .
17M -rw-r--r-- 1 root root 17M Apr 29 17:21 awx_postgres_db.dump
4.0K drwxrwxrwt 11 root root 4.0K Apr 29 17:21 ..

Paramos todas las instancias y las eliminamos

docker stop awx_postgres awx_task awx_web awx_memcached awx_rabbitmq
docker rm -f awx_postgres awx_task awx_web awx_memcached awx_rabbitmq

Nos descargamos la ultima versión disponible estable de AWX

mkdir new-awx
cd new-awx
git clone https://github.com/ansible/awx.git

Accedemos a la carpeta y procedemos a instalar la nueva versión

cd awx/installer/
ansible-playbook -i inventory install.yml

Una vez finalizado restauramos el backup realizado anteriormente

tower-cli config host https://192.168.1.68
tower-cli config verify_ssl false
tower-cli config username admin
tower-cli config password PASSWORD
tower-cli send /tmp/ansible/backup.json

De la misma forma, restauramos la base de datos

docker exec -i awx_postgres pg_restore -U awx -C -d postgres < /tmp/ansible/awx_postgres_db.dump

Reiniciamos las instancias

docker restart awx_postgres awx_task awx_web awx_memcached awx_rabbitmq

Si todo a salido correctamente ya podemos acceder de nuevo a nuestro AWX con todos nuestros proyectos y credenciales.

No obstante, a mi me fallo unas cuantas veces hasta que conseguí restaurar todo

Mas información interesante:

:wq!

Deja una respuesta

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