diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 0e47416e12..e311ecfa1c 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -158,7 +158,7 @@ $ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 44251b476f98 gcr.io/ansible-tower-engineering/awx_devel:devel "/entrypoint.sh /bin…" 27 seconds ago Up 23 seconds 0.0.0.0:6899->6899/tcp, 0.0.0.0:7899-7999->7899-7999/tcp, 0.0.0.0:8013->8013/tcp, 0.0.0.0:8043->8043/tcp, 0.0.0.0:8080->8080/tcp, 22/tcp, 0.0.0.0:8888->8888/tcp tools_awx_run_9e820694d57e 40de380e3c2e redis:latest "docker-entrypoint.s…" 28 seconds ago Up 26 seconds -b66a506d3007 postgres:10 "docker-entrypoint.s…" 28 seconds ago Up 26 seconds 0.0.0.0:5432->5432/tcp tools_postgres_1 +b66a506d3007 postgres:12 "docker-entrypoint.s…" 28 seconds ago Up 26 seconds 0.0.0.0:5432->5432/tcp tools_postgres_1 ``` **NOTE** diff --git a/Makefile b/Makefile index 54bbf2175f..9c7ccd028b 100644 --- a/Makefile +++ b/Makefile @@ -619,7 +619,7 @@ clean-elk: docker rm tools_kibana_1 psql-container: - docker run -it --net tools_default --rm postgres:10 sh -c 'exec psql -h "postgres" -p "5432" -U postgres' + docker run -it --net tools_default --rm postgres:12 sh -c 'exec psql -h "postgres" -p "5432" -U postgres' VERSION: @echo "awx: $(VERSION)" diff --git a/installer/roles/image_build/templates/Dockerfile.j2 b/installer/roles/image_build/templates/Dockerfile.j2 index ebbd4f885e..7572c6219f 100644 --- a/installer/roles/image_build/templates/Dockerfile.j2 +++ b/installer/roles/image_build/templates/Dockerfile.j2 @@ -21,9 +21,10 @@ ENV LC_ALL en_US.UTF-8 USER root # Install build dependencies +RUN dnf -y module enable 'postgresql:12' RUN dnf -y update && \ dnf -y install epel-release 'dnf-command(config-manager)' && \ - dnf module -y enable 'postgresql:10' && \ + dnf module -y enable 'postgresql:12' && \ dnf config-manager --set-enabled powertools && \ dnf -y install ansible \ gcc \ @@ -38,7 +39,7 @@ RUN dnf -y update && \ nss \ openldap-devel \ patch \ - @postgresql:10 \ + @postgresql:12 \ postgresql-devel \ python3-devel \ python3-pip \ @@ -94,9 +95,10 @@ ENV LC_ALL en_US.UTF-8 USER root # Install runtime requirements +RUN dnf -y module enable 'postgresql:12' RUN dnf -y update && \ dnf -y install epel-release 'dnf-command(config-manager)' && \ - dnf module -y enable 'postgresql:10' && \ + dnf module -y enable 'postgresql:12' && \ dnf config-manager --set-enabled powertools && \ dnf -y install acl \ ansible \ @@ -107,7 +109,7 @@ RUN dnf -y update && \ krb5-workstation \ libcgroup-tools \ nginx \ - @postgresql:10 \ + @postgresql:12 \ python3-devel \ python3-libselinux \ python3-pip \ diff --git a/installer/roles/kubernetes/tasks/main.yml b/installer/roles/kubernetes/tasks/main.yml index 7c23e1bcaf..dc6639b56b 100644 --- a/installer/roles/kubernetes/tasks/main.yml +++ b/installer/roles/kubernetes/tasks/main.yml @@ -76,7 +76,7 @@ -e POSTGRESQL_USER={{ pg_username }} \ -e POSTGRESQL_PASSWORD={{ pg_password | quote }} \ -e POSTGRESQL_DATABASE={{ pg_database | quote }} \ - -e POSTGRESQL_VERSION=10 \ + -e POSTGRESQL_VERSION=12 \ -n {{ kubernetes_namespace }} register: openshift_pg_activate no_log: true @@ -133,9 +133,9 @@ seconds: "{{ postgress_activate_wait }}" when: openshift_pg_activate.changed or kubernetes_pg_activate.changed -- name: Check postgres version and upgrade Postgres if necessary +- name: Check postgres version and upgrade Postgres if necessary (Openshift) block: - - name: Check if Postgres 9.6 is being used + - name: Check if Postgres 10 is being used shell: | POD=$({{ kubectl_or_oc }} -n {{ kubernetes_namespace }} \ get pods -l=name=postgresql --field-selector status.phase=Running -o jsonpath="{.items[0].metadata.name}") @@ -145,7 +145,7 @@ block: - name: Set new pg image shell: | - IMAGE=registry.redhat.io/rhel-8/postgresql-10 + IMAGE=registry.redhat.io/rhel-8/postgresql-12 {{ kubectl_or_oc }} -n {{ kubernetes_namespace }} set image dc/postgresql postgresql=$IMAGE - name: Wait for change to take affect @@ -162,7 +162,7 @@ - name: Set env var for new pg version shell: | - {{ kubectl_or_oc }} -n {{ kubernetes_namespace }} set env dc/postgresql POSTGRESQL_VERSION=10 + {{ kubectl_or_oc }} -n {{ kubernetes_namespace }} set env dc/postgresql POSTGRESQL_VERSION=12 - name: Wait for Postgres to redeploy pause: @@ -185,9 +185,11 @@ - name: Wait for Postgres to redeploy pause: seconds: "{{ postgress_activate_wait }}" - when: "pg_version is success and '9.6' in pg_version.stdout" + when: "pg_version is success and '10' in pg_version.stdout" when: - pg_hostname is not defined or pg_hostname == '' + - postgres_svc_details is defined and postgres_svc_details.rc != 0 + - openshift_host is defined - name: Set image names if using custom registry block: diff --git a/installer/roles/kubernetes/templates/postgresql-persistent.yml.j2 b/installer/roles/kubernetes/templates/postgresql-persistent.yml.j2 index febbc3402a..c688083cbb 100644 --- a/installer/roles/kubernetes/templates/postgresql-persistent.yml.j2 +++ b/installer/roles/kubernetes/templates/postgresql-persistent.yml.j2 @@ -99,7 +99,7 @@ objects: name: ${DATABASE_SERVICE_NAME} - name: POSTGRESQL_MAX_CONNECTIONS value: ${POSTGRESQL_MAX_CONNECTIONS} - image: registry.redhat.io/rhel8/postgresql-10 + image: registry.redhat.io/rhel8/postgresql-12 imagePullPolicy: IfNotPresent livenessProbe: exec: diff --git a/installer/roles/kubernetes/templates/postgresql-values.yml.j2 b/installer/roles/kubernetes/templates/postgresql-values.yml.j2 index ea6ba29230..4fca12a7b7 100644 --- a/installer/roles/kubernetes/templates/postgresql-values.yml.j2 +++ b/installer/roles/kubernetes/templates/postgresql-values.yml.j2 @@ -36,11 +36,14 @@ master: {% endif %} image: {% if pg_image_registry is defined %} +# The default bitnami image from the chart doesn't work on ARM registry: {{ pg_image_registry }} {% endif %} - # The default bitnami image from the chart doesn't work on ARM - repository: postgres - tag: '11' +{% if pg_image_registry is not defined %} + registry: docker.io/bitnami +{% endif %} + repository: postgresql + tag: '12.5.0' volumePermissions: image: {% if pg_image_registry is defined %} diff --git a/installer/roles/local_docker/defaults/main.yml b/installer/roles/local_docker/defaults/main.yml index f8e1304702..03742f5e14 100644 --- a/installer/roles/local_docker/defaults/main.yml +++ b/installer/roles/local_docker/defaults/main.yml @@ -4,7 +4,7 @@ dockerhub_version: "{{ lookup('file', playbook_dir + '/../VERSION') }}" awx_image: "awx" redis_image: "redis" -postgresql_version: "10" +postgresql_version: "12" postgresql_image: "postgres:{{postgresql_version}}" compose_start_containers: true diff --git a/installer/roles/local_docker/tasks/upgrade_postgres.yml b/installer/roles/local_docker/tasks/upgrade_postgres.yml index ae9801bae6..0a2b3afd33 100644 --- a/installer/roles/local_docker/tasks/upgrade_postgres.yml +++ b/installer/roles/local_docker/tasks/upgrade_postgres.yml @@ -31,20 +31,20 @@ - name: Upgrade Postgres shell: | docker run --rm \ - -v {{ postgres_data_dir }}/pgdata:/var/lib/postgresql/9.6/data \ -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:9.6-to-10 --username={{ pg_username }} + tianon/postgres-upgrade:10-to-12 --username={{ pg_username }} when: upgrade_postgres | bool - name: Copy old pg_hba.conf copy: src: "{{ postgres_data_dir + '/pgdata/pg_hba.conf' }}" - dest: "{{ postgres_data_dir + '/10/data/' }}" + dest: "{{ postgres_data_dir + '/12/data/' }}" when: upgrade_postgres | bool - name: Remove old data directory file: - path: "{{ postgres_data_dir + '/pgdata' }}" + path: "{{ postgres_data_dir + '/10/data' }}" state: absent when: compose_start_containers|bool diff --git a/tools/docker-compose-cluster.yml b/tools/docker-compose-cluster.yml index 7aec34d8e4..8532b6e942 100644 --- a/tools/docker-compose-cluster.yml +++ b/tools/docker-compose-cluster.yml @@ -96,5 +96,5 @@ services: - "./redis/redis.conf:/usr/local/etc/redis/redis.conf" - "./redis/redis_socket_ha_3:/var/run/redis/" postgres: - image: postgres:10 + image: postgres:12 container_name: tools_postgres_1 diff --git a/tools/docker-compose.yml b/tools/docker-compose.yml index 19ead50661..27261cd1e6 100644 --- a/tools/docker-compose.yml +++ b/tools/docker-compose.yml @@ -44,7 +44,7 @@ services: # Postgres Database Container postgres: - image: postgres:10 + image: postgres:12 container_name: tools_postgres_1 environment: POSTGRES_HOST_AUTH_METHOD: trust diff --git a/tools/scripts/awx-python b/tools/scripts/awx-python index 00d5e7363e..7b64af02e3 100755 --- a/tools/scripts/awx-python +++ b/tools/scripts/awx-python @@ -1,12 +1,4 @@ #!/usr/bin/env bash -# Enable needed Software Collections, if installed -for scl in rh-postgresql10; do - if [ -f /etc/scl/prefixes/$scl ]; then - if [ -f `cat /etc/scl/prefixes/$scl`/$scl/enable ]; then - . `cat /etc/scl/prefixes/$scl`/$scl/enable - fi - fi -done # Enable Tower virtualenv for venv_path in /var/lib/awx/venv/awx; do