forked from extern/podman-compose
65 lines
2.1 KiB
YAML
65 lines
2.1 KiB
YAML
|
---
|
||
|
|
||
|
- name: Create {{ postgres_data_dir }} directory
|
||
|
file:
|
||
|
path: "{{ postgres_data_dir }}"
|
||
|
state: directory
|
||
|
|
||
|
- name: Get full path of postgres data dir
|
||
|
shell: "echo {{ postgres_data_dir }}"
|
||
|
register: fq_postgres_data_dir
|
||
|
|
||
|
- name: Register temporary docker container
|
||
|
set_fact:
|
||
|
container_command: "docker run --rm -v '{{ fq_postgres_data_dir.stdout }}:/var/lib/postgresql' centos:8 bash -c "
|
||
|
|
||
|
- 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 is defined and pg_version_file.stdout == 'exists'
|
||
|
|
||
|
- name: Determine whether to upgrade postgres
|
||
|
set_fact:
|
||
|
upgrade_postgres: "{{ old_pg_version.stdout == '10' }}"
|
||
|
when: old_pg_version.changed
|
||
|
|
||
|
- name: Set up new postgres paths pre-upgrade
|
||
|
shell: |
|
||
|
{{ container_command }} "mkdir -p /var/lib/postgresql/12/data/"
|
||
|
when: upgrade_postgres | bool
|
||
|
|
||
|
- name: Stop AWX before upgrading postgres
|
||
|
docker_compose:
|
||
|
project_src: "{{ docker_compose_dir }}"
|
||
|
stopped: true
|
||
|
when: upgrade_postgres | bool
|
||
|
|
||
|
- name: Upgrade Postgres
|
||
|
shell: |
|
||
|
docker run --rm \
|
||
|
-v {{ postgres_data_dir }}/10/data:/var/lib/postgresql/10/data \
|
||
|
-v {{ postgres_data_dir }}/12/data:/var/lib/postgresql/12/data \
|
||
|
-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:
|
||
|
- upgrade_postgres | bool
|
||
|
- compose_start_containers|bool
|