mirror of
https://github.com/ansible/awx.git
synced 2026-01-26 16:11:30 -03:30
44 lines
1.6 KiB
YAML
44 lines
1.6 KiB
YAML
---
|
|
|
|
- name: Register temporary docker container
|
|
set_fact:
|
|
container_command: "docker run -v '{{ postgres_data_dir | realpath }}:/var/lib/postgresql' centos:8 bash "
|
|
|
|
- name: Check for existing Postgres data (run from inside the container for access to file)
|
|
shell:
|
|
cmd: "{{ container_command }} [[ -f /var/lib/postgresql/10/data/PG_VERSION ]] && echo 'exists'"
|
|
register: pg_version_file
|
|
ignore_errors: true
|
|
|
|
- name: Record Postgres version
|
|
shell: "{{ container_command }} cat var/lib/postgresql/10/data/PG_VERSION"
|
|
register: old_pg_version
|
|
when: pg_version_file.stdout == 'exists'
|
|
|
|
- name: Determine whether to upgrade postgres
|
|
set_fact:
|
|
upgrade_postgres: "{{ old_pg_version is defined and old_pg_version.stdout == '10' | bool }}"
|
|
when: not old_pg_version.skipped | bool
|
|
|
|
- name: Stop AWX before upgrading postgres
|
|
docker_service:
|
|
project_src: "{{ docker_compose_dir }}"
|
|
stopped: true
|
|
when: upgrade_postgres | bool
|
|
|
|
- name: Upgrade Postgres
|
|
shell: |
|
|
docker run --rm \
|
|
-v {{ postgres_data_dir | realpath }}:/var/lib/postgresql \
|
|
-e PGUSER={{ pg_username }} -e POSTGRES_INITDB_ARGS="-U {{ pg_username }}" \
|
|
tianon/postgres-upgrade:10-to-12 --username={{ pg_username }}
|
|
when: upgrade_postgres | bool
|
|
|
|
- name: Copy old pg_hba.conf
|
|
shell: "{{ container_command }} cp /var/lib/postgresql/10/data/pg_hba.conf /var/lib/postgresql/12/data/pg_hba.conf"
|
|
when: upgrade_postgres | bool
|
|
|
|
- name: Remove old data directory
|
|
shell: "{{ container_command }} rm -rf /var/lib/postgresql/10/data"
|
|
when: compose_start_containers|bool
|