From 98c0e5a2dcb409cde8b586e85e794f38484ddc7f Mon Sep 17 00:00:00 2001 From: John Westcott IV Date: Wed, 12 Jul 2023 09:39:48 -0400 Subject: [PATCH] Upgrade to postgres:15 --- Makefile | 3 --- awx/__init__.py | 7 ++++--- awx/main/analytics/collectors.py | 2 +- tools/ansible/roles/dockerfile/templates/Dockerfile.j2 | 1 - .../roles/sources/templates/docker-compose.yml.j2 | 9 +++++---- 5 files changed, 10 insertions(+), 12 deletions(-) diff --git a/Makefile b/Makefile index 3e18e5e3e47f..8c5018e4c98c 100644 --- a/Makefile +++ b/Makefile @@ -611,9 +611,6 @@ clean-elk: docker rm tools_elasticsearch_1 docker rm tools_kibana_1 -psql-container: - 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/awx/__init__.py b/awx/__init__.py index 2e2a943b6cad..7eb8ca43a19e 100644 --- a/awx/__init__.py +++ b/awx/__init__.py @@ -179,10 +179,11 @@ def manage(): from django.conf import settings from django.core.management import execute_from_command_line - # enforce the postgres version is equal to 12. if not, then terminate program with exit code of 1 + # enforce the postgres version is equal to 15. if not, then terminate program with exit code of 1 + # The return of connection.pg_version is something like 12013 if not os.getenv('SKIP_PG_VERSION_CHECK', False) and not MODE == 'development': - if (connection.pg_version // 10000) < 12: - sys.stderr.write("Postgres version 12 is required\n") + if (connection.pg_version // 10000) < 15: + sys.stderr.write("Postgres version 15 is required\n") sys.exit(1) if len(sys.argv) >= 2 and sys.argv[1] in ('version', '--version'): # pragma: no cover diff --git a/awx/main/analytics/collectors.py b/awx/main/analytics/collectors.py index 1279c4596ef6..472234cc9054 100644 --- a/awx/main/analytics/collectors.py +++ b/awx/main/analytics/collectors.py @@ -419,7 +419,7 @@ def query(event_data): resolved_action, resolved_role, -- '-' operator listed here: - -- https://www.postgresql.org/docs/12/functions-json.html + -- https://www.postgresql.org/docs/15/functions-json.html -- note that operator is only supported by jsonb objects -- https://www.postgresql.org/docs/current/datatype-json.html (CASE WHEN event = 'playbook_on_stats' THEN {event_data} - 'artifact_data' END) as playbook_on_stats, diff --git a/tools/ansible/roles/dockerfile/templates/Dockerfile.j2 b/tools/ansible/roles/dockerfile/templates/Dockerfile.j2 index cd7e61961d97..a7693edcfed7 100644 --- a/tools/ansible/roles/dockerfile/templates/Dockerfile.j2 +++ b/tools/ansible/roles/dockerfile/templates/Dockerfile.j2 @@ -296,7 +296,6 @@ RUN ln -sf /dev/stdout /var/log/nginx/access.log && \ {% endif %} ENV HOME="/var/lib/awx" -ENV PATH="/usr/pgsql-12/bin:${PATH}" {% if build_dev|bool %} ENV PATH="/var/lib/awx/venv/awx/bin/:${PATH}" diff --git a/tools/docker-compose/ansible/roles/sources/templates/docker-compose.yml.j2 b/tools/docker-compose/ansible/roles/sources/templates/docker-compose.yml.j2 index e1942d0d37be..f3619e56bd9b 100644 --- a/tools/docker-compose/ansible/roles/sources/templates/docker-compose.yml.j2 +++ b/tools/docker-compose/ansible/roles/sources/templates/docker-compose.yml.j2 @@ -190,7 +190,7 @@ services: # context: ./docker-compose # dockerfile: Dockerfile-logstash postgres: - image: postgres:12 + image: postgres:15 container_name: tools_postgres_1 # additional logging settings for postgres can be found https://www.postgresql.org/docs/current/runtime-config-logging.html command: postgres -c log_destination=stderr -c log_min_messages=info -c log_min_duration_statement={{ pg_log_min_duration_statement|default(1000) }} -c max_connections={{ pg_max_connections|default(1024) }} @@ -200,7 +200,7 @@ services: POSTGRES_DB: {{ pg_database }} POSTGRES_PASSWORD: {{ pg_password }} volumes: - - "awx_db:/var/lib/postgresql/data" + - "awx_db_15:/var/lib/postgresql/data" {% if enable_pgbouncer|bool %} pgbouncer: image: bitnami/pgbouncer:latest @@ -269,8 +269,9 @@ services: {% endif %} volumes: - awx_db: - name: tools_awx_db +{# For the postgres 15 db upgrade we changed the mount name because 15 can't load a 12 DB #} + awx_db_15: + name: tools_awx_db_15 {% for i in range(control_plane_node_count|int) -%} {% set container_postfix = loop.index %} redis_socket_{{ container_postfix }}: