[wsrelay] switch from psycopg 3 to asyncpg (#13965)

Due to dependency issues specifically around upgrading to Django 4.2, we
cannot feasibly have a dependency on psycopg2 and psycopg3. The only
place that was currently using psycopg3 was wsrelay.

Change wsrelay to use the asyncpg library and psycopg2 instead.

Tested locally on kind with a dev build of awx.

Signed-off-by: Rick Elrod <rick@elrod.me>
This commit is contained in:
Rick Elrod
2023-05-10 09:10:35 -05:00
committed by GitHub
parent 05e9b29460
commit 74c46568c1
6 changed files with 249 additions and 204 deletions

View File

@@ -2,6 +2,7 @@ aiohttp
ansiconv==1.0.0 # UPGRADE BLOCKER: from 2013, consider replacing instead of upgrading
asciichartpy
asn1
asyncpg
azure-keyvault==1.1.0 # see UPGRADE BLOCKERs
channels
channels-redis==3.4.1 # see UPGRADE BLOCKERs
@@ -36,7 +37,6 @@ openshift
pexpect==4.7.0 # see library notes
prometheus_client
psycopg2
psycopg # psycopg3 is used to listen for pg_notify messages from web servers in awx.main.wsrelay where asyncio is used
psutil
pygerduty
pyparsing==2.4.6 # Upgrading to v3 of pyparsing introduce errors on smart host filtering: Expected 'or' term, found 'or' (at char 15), (line:1, col:16)

View File

@@ -24,6 +24,8 @@ async-timeout==4.0.2
# aiohttp
# aioredis
# redis
asyncpg==0.27.0
# via -r /awx_devel/requirements/requirements.in
attrs==22.1.0
# via
# aiohttp
@@ -266,8 +268,6 @@ prometheus-client==0.15.0
# via -r /awx_devel/requirements/requirements.in
psutil==5.9.4
# via -r /awx_devel/requirements/requirements.in
psycopg==3.1.4
# via -r /awx_devel/requirements/requirements.in
psycopg2==2.9.5
# via -r /awx_devel/requirements/requirements.in
ptyprocess==0.7.0
@@ -428,7 +428,7 @@ txaio==22.2.1
typing-extensions==4.4.0
# via
# azure-core
# psycopg
# pydantic
# setuptools-rust
# setuptools-scm
# twisted