mirror of
https://github.com/ansible/awx.git
synced 2026-01-09 15:02:07 -03:30
* AAP-57817 Add Redis connection retry using redis-py 7.0+ built-in mechanism * Refactor Redis client helpers to use settings and eliminate code duplication * Create awx/main/utils/redis.py and move Redis client functions to avoid circular imports * Fix subsystem_metrics to share Redis connection pool between client and pipeline * Cache Redis clients in RelayConsumer and RelayWebsocketStatsManager to avoid creating new connection pools on every call * Add cap and base config * Add Redis retry logic with exponential backoff to handle connection failures during long-running operations * Add REDIS_BACKOFF_CAP and REDIS_BACKOFF_BASE settings to allow adjustment of retry timing in worst-case scenarios without code changes * Simplify Redis retry tests by removing unnecessary reload logic
570 lines
14 KiB
Plaintext
570 lines
14 KiB
Plaintext
adal==1.2.7
|
|
# via msrestazure
|
|
aiodns==3.5.0
|
|
# via aiohttp
|
|
aiofiles==24.1.0
|
|
# via opa-python-client
|
|
aiohappyeyeballs==2.6.1
|
|
# via aiohttp
|
|
aiohttp[speedups]==3.13.0
|
|
# via
|
|
# -r /awx_devel/requirements/requirements.in
|
|
# aiohttp-retry
|
|
# opa-python-client
|
|
# twilio
|
|
aiohttp-retry==2.9.1
|
|
# via twilio
|
|
aiosignal==1.4.0
|
|
# via aiohttp
|
|
ansi2html==1.9.2
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
# git+https://github.com/ansible/ansible-runner.git@devel # git requirements installed separately
|
|
# via -r /awx_devel/requirements/requirements_git.txt
|
|
asciichartpy==1.5.25
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
asgiref==3.11.0
|
|
# via
|
|
# channels
|
|
# channels-redis
|
|
# daphne
|
|
# django
|
|
# django-ansible-base
|
|
# django-cors-headers
|
|
asn1==3.1.0
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
attrs==25.4.0
|
|
# via
|
|
# aiohttp
|
|
# jsonschema
|
|
# referencing
|
|
# service-identity
|
|
# twisted
|
|
autobahn==24.4.2
|
|
# via daphne
|
|
autocommand==2.2.2
|
|
# via jaraco-text
|
|
automat==25.4.16
|
|
# via twisted
|
|
# awx-plugins-core @ git+https://github.com/ansible/awx-plugins.git@devel # git requirements installed separately
|
|
# via -r /awx_devel/requirements/requirements_git.txt
|
|
awx-plugins.interfaces @ git+https://github.com/ansible/awx_plugins.interfaces.git
|
|
# via
|
|
# -r /awx_devel/requirements/requirements_git.txt
|
|
# awx-plugins-core
|
|
azure-core==1.35.1
|
|
# via
|
|
# azure-identity
|
|
# azure-keyvault-certificates
|
|
# azure-keyvault-keys
|
|
# azure-keyvault-secrets
|
|
# msrest
|
|
azure-identity==1.25.1
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
azure-keyvault==4.2.0
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
azure-keyvault-certificates==4.10.0
|
|
# via azure-keyvault
|
|
azure-keyvault-keys==4.11.0
|
|
# via azure-keyvault
|
|
azure-keyvault-secrets==4.10.0
|
|
# via azure-keyvault
|
|
backports-tarfile==1.2.0
|
|
# via jaraco-context
|
|
boto3==1.40.46
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
botocore==1.40.46
|
|
# via
|
|
# -r /awx_devel/requirements/requirements.in
|
|
# boto3
|
|
# s3transfer
|
|
brotli==1.1.0
|
|
# via aiohttp
|
|
cachetools==6.2.0
|
|
# via google-auth
|
|
# git+https://github.com/ansible/system-certifi.git@devel # git requirements installed separately
|
|
# via
|
|
# -r /awx_devel/requirements/requirements_git.txt
|
|
# kubernetes
|
|
# msrest
|
|
# requests
|
|
cffi==2.0.0
|
|
# via
|
|
# cryptography
|
|
# pycares
|
|
# pynacl
|
|
channels==4.3.1
|
|
# via
|
|
# -r /awx_devel/requirements/requirements.in
|
|
# channels-redis
|
|
channels-redis==4.3.0
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
charset-normalizer==3.4.3
|
|
# via requests
|
|
click==8.1.8
|
|
# via receptorctl
|
|
constantly==23.10.4
|
|
# via twisted
|
|
cryptography==46.0.3
|
|
# via
|
|
# -r /awx_devel/requirements/requirements.in
|
|
# adal
|
|
# autobahn
|
|
# azure-identity
|
|
# azure-keyvault-keys
|
|
# django-ansible-base
|
|
# msal
|
|
# pyjwt
|
|
# pyopenssl
|
|
# service-identity
|
|
cython==3.1.3
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
daphne==4.2.1
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
dispatcherd==2025.5.21
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
distro==1.9.0
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
django==4.2.26
|
|
# via
|
|
# -r /awx_devel/requirements/requirements.in
|
|
# channels
|
|
# django-ansible-base
|
|
# django-cors-headers
|
|
# django-crum
|
|
# django-extensions
|
|
# django-flags
|
|
# django-guid
|
|
# django-polymorphic
|
|
# django-solo
|
|
# djangorestframework
|
|
# drf-spectacular
|
|
# django-ansible-base[feature-flags,jwt-consumer,rbac,resource-registry,rest-filters] @ git+https://github.com/ansible/django-ansible-base@devel # git requirements installed separately
|
|
# via -r /awx_devel/requirements/requirements_git.txt
|
|
django-cors-headers==4.9.0
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
django-crum==0.7.9
|
|
# via
|
|
# -r /awx_devel/requirements/requirements.in
|
|
# django-ansible-base
|
|
django-extensions==4.1
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
django-flags==5.1.0
|
|
# via
|
|
# -r /awx_devel/requirements/requirements.in
|
|
# django-ansible-base
|
|
django-guid==3.5.2
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
django-polymorphic==4.1.0
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
django-solo==2.4.0
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
djangorestframework==3.15.2
|
|
# via
|
|
# -r /awx_devel/requirements/requirements.in
|
|
# django-ansible-base
|
|
# drf-spectacular
|
|
djangorestframework-yaml==2.0.0
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
drf-spectacular==0.29.0
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
durationpy==0.10
|
|
# via kubernetes
|
|
dynaconf==3.2.12
|
|
# via
|
|
# -r /awx_devel/requirements/requirements.in
|
|
# django-ansible-base
|
|
enum-compat==0.0.3
|
|
# via asn1
|
|
filelock==3.19.1
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
frozenlist==1.8.0
|
|
# via
|
|
# aiohttp
|
|
# aiosignal
|
|
gitdb==4.0.12
|
|
# via gitpython
|
|
gitpython==3.1.45
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
google-auth==2.41.1
|
|
# via kubernetes
|
|
googleapis-common-protos==1.70.0
|
|
# via
|
|
# opentelemetry-exporter-otlp-proto-grpc
|
|
# opentelemetry-exporter-otlp-proto-http
|
|
grpcio==1.75.1
|
|
# via
|
|
# -r /awx_devel/requirements/requirements.in
|
|
# opentelemetry-exporter-otlp-proto-grpc
|
|
hiredis==3.2.1
|
|
# via redis
|
|
hyperlink==21.0.0
|
|
# via
|
|
# autobahn
|
|
# twisted
|
|
idna==3.10
|
|
# via
|
|
# -r /awx_devel/requirements/requirements.in
|
|
# hyperlink
|
|
# requests
|
|
# twisted
|
|
# yarl
|
|
importlib-metadata==8.7.0
|
|
# via opentelemetry-api
|
|
importlib-resources==6.5.2
|
|
# via irc
|
|
incremental==24.7.2
|
|
# via twisted
|
|
inflection==0.5.1
|
|
# via
|
|
# django-ansible-base
|
|
# drf-spectacular
|
|
irc==20.5.0
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
isodate==0.7.2
|
|
# via
|
|
# azure-keyvault-certificates
|
|
# azure-keyvault-keys
|
|
# azure-keyvault-secrets
|
|
# msrest
|
|
jaraco-collections==5.2.1
|
|
# via irc
|
|
jaraco-context==6.0.1
|
|
# via jaraco-text
|
|
jaraco-functools==4.3.0
|
|
# via
|
|
# irc
|
|
# jaraco-text
|
|
# tempora
|
|
jaraco-logging==3.4.0
|
|
# via irc
|
|
jaraco-stream==3.0.4
|
|
# via irc
|
|
jaraco-text==4.0.0
|
|
# via
|
|
# irc
|
|
# jaraco-collections
|
|
jinja2==3.1.6
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
jmespath==1.0.1
|
|
# via
|
|
# boto3
|
|
# botocore
|
|
jq==1.10.0
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
json-log-formatter==1.1.1
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
jsonschema==4.25.1
|
|
# via
|
|
# -r /awx_devel/requirements/requirements.in
|
|
# drf-spectacular
|
|
jsonschema-specifications==2025.9.1
|
|
# via jsonschema
|
|
kubernetes==34.1.0
|
|
# via openshift
|
|
lockfile==0.12.2
|
|
# via python-daemon
|
|
markdown==3.9
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
markupsafe==3.0.3
|
|
# via jinja2
|
|
maturin==1.9.6
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
more-itertools==10.8.0
|
|
# via
|
|
# irc
|
|
# jaraco-functools
|
|
# jaraco-stream
|
|
# jaraco-text
|
|
msal==1.34.0
|
|
# via
|
|
# azure-identity
|
|
# msal-extensions
|
|
msal-extensions==1.3.1
|
|
# via azure-identity
|
|
msgpack==1.1.1
|
|
# via
|
|
# -r /awx_devel/requirements/requirements.in
|
|
# channels-redis
|
|
msrest==0.7.1
|
|
# via msrestazure
|
|
msrestazure==0.6.4.post1
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
multidict==6.7.0
|
|
# via
|
|
# aiohttp
|
|
# yarl
|
|
oauthlib==3.3.1
|
|
# via requests-oauthlib
|
|
opa-python-client==2.0.2
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
openshift==0.13.2
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
opentelemetry-api==1.37.0
|
|
# via
|
|
# -r /awx_devel/requirements/requirements.in
|
|
# opentelemetry-exporter-otlp-proto-grpc
|
|
# opentelemetry-exporter-otlp-proto-http
|
|
# opentelemetry-instrumentation
|
|
# opentelemetry-instrumentation-logging
|
|
# opentelemetry-sdk
|
|
# opentelemetry-semantic-conventions
|
|
opentelemetry-exporter-otlp==1.37.0
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
opentelemetry-exporter-otlp-proto-common==1.37.0
|
|
# via
|
|
# opentelemetry-exporter-otlp-proto-grpc
|
|
# opentelemetry-exporter-otlp-proto-http
|
|
opentelemetry-exporter-otlp-proto-grpc==1.37.0
|
|
# via opentelemetry-exporter-otlp
|
|
opentelemetry-exporter-otlp-proto-http==1.37.0
|
|
# via opentelemetry-exporter-otlp
|
|
opentelemetry-instrumentation==0.58b0
|
|
# via opentelemetry-instrumentation-logging
|
|
opentelemetry-instrumentation-logging==0.58b0
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
opentelemetry-proto==1.37.0
|
|
# via
|
|
# opentelemetry-exporter-otlp-proto-common
|
|
# opentelemetry-exporter-otlp-proto-grpc
|
|
# opentelemetry-exporter-otlp-proto-http
|
|
opentelemetry-sdk==1.37.0
|
|
# via
|
|
# -r /awx_devel/requirements/requirements.in
|
|
# opentelemetry-exporter-otlp-proto-grpc
|
|
# opentelemetry-exporter-otlp-proto-http
|
|
opentelemetry-semantic-conventions==0.58b0
|
|
# via
|
|
# opentelemetry-instrumentation
|
|
# opentelemetry-sdk
|
|
packaging==25.0
|
|
# via
|
|
# ansible-runner
|
|
# django-guid
|
|
# opentelemetry-instrumentation
|
|
# setuptools-scm
|
|
pbr==7.0.1
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
pexpect==4.9.0
|
|
# via
|
|
# -r /awx_devel/requirements/requirements.in
|
|
# ansible-runner
|
|
pkgconfig==1.5.5
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
prometheus-client==0.23.1
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
propcache==0.4.0
|
|
# via
|
|
# aiohttp
|
|
# yarl
|
|
protobuf==6.32.1
|
|
# via
|
|
# -r /awx_devel/requirements/requirements.in
|
|
# googleapis-common-protos
|
|
# opentelemetry-proto
|
|
psutil==7.1.0
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
psycopg==3.2.10
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
ptyprocess==0.7.0
|
|
# via pexpect
|
|
pyasn1==0.6.1
|
|
# via
|
|
# pyasn1-modules
|
|
# rsa
|
|
# service-identity
|
|
pyasn1-modules==0.4.2
|
|
# via
|
|
# google-auth
|
|
# service-identity
|
|
pycares==4.11.0
|
|
# via aiodns
|
|
pycparser==2.23
|
|
# via cffi
|
|
pygerduty==0.38.3
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
pygithub==2.8.1
|
|
# via
|
|
# -r /awx_devel/requirements/requirements.in
|
|
# awx-plugins-core
|
|
pyjwt[crypto]==2.10.1
|
|
# via
|
|
# adal
|
|
# django-ansible-base
|
|
# msal
|
|
# pygithub
|
|
# twilio
|
|
pynacl==1.6.0
|
|
# via pygithub
|
|
pyopenssl==25.3.0
|
|
# via
|
|
# -r /awx_devel/requirements/requirements.in
|
|
# twisted
|
|
pyparsing==2.4.7
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
python-daemon==3.1.2
|
|
# via
|
|
# -r /awx_devel/requirements/requirements.in
|
|
# ansible-runner
|
|
python-dateutil==2.9.0.post0
|
|
# via
|
|
# adal
|
|
# botocore
|
|
# kubernetes
|
|
# receptorctl
|
|
# tempora
|
|
python-dsv-sdk==1.0.4
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
python-string-utils==1.0.0
|
|
# via openshift
|
|
python-tss-sdk==2.0.0
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
pytz==2025.2
|
|
# via irc
|
|
pyyaml==6.0.3
|
|
# via
|
|
# -r /awx_devel/requirements/requirements.in
|
|
# ansible-runner
|
|
# dispatcherd
|
|
# djangorestframework-yaml
|
|
# drf-spectacular
|
|
# kubernetes
|
|
# receptorctl
|
|
pyzstd==0.18.0
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
receptorctl==1.6.0
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
redis[hiredis]==7.0.1
|
|
# via
|
|
# -r /awx_devel/requirements/requirements.in
|
|
# channels-redis
|
|
referencing==0.36.2
|
|
# via
|
|
# jsonschema
|
|
# jsonschema-specifications
|
|
requests==2.32.5
|
|
# via
|
|
# -r /awx_devel/requirements/requirements.in
|
|
# adal
|
|
# azure-core
|
|
# django-ansible-base
|
|
# kubernetes
|
|
# msal
|
|
# msrest
|
|
# opa-python-client
|
|
# opentelemetry-exporter-otlp-proto-http
|
|
# pygithub
|
|
# python-dsv-sdk
|
|
# python-tss-sdk
|
|
# requests-oauthlib
|
|
# twilio
|
|
requests-oauthlib==2.0.0
|
|
# via
|
|
# kubernetes
|
|
# msrest
|
|
rpds-py==0.27.1
|
|
# via
|
|
# jsonschema
|
|
# referencing
|
|
rsa==4.9.1
|
|
# via google-auth
|
|
s3transfer==0.14.0
|
|
# via boto3
|
|
semantic-version==2.10.0
|
|
# via setuptools-rust
|
|
service-identity==24.2.0
|
|
# via twisted
|
|
setuptools-rust==1.10.2
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
setuptools-scm[toml]==8.1.0
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
six==1.17.0
|
|
# via
|
|
# azure-core
|
|
# kubernetes
|
|
# msrestazure
|
|
# openshift
|
|
# pygerduty
|
|
# python-dateutil
|
|
slack-sdk==3.37.0
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
smmap==5.0.2
|
|
# via gitdb
|
|
sqlparse==0.5.3
|
|
# via
|
|
# -r /awx_devel/requirements/requirements.in
|
|
# django
|
|
# django-ansible-base
|
|
tempora==5.8.1
|
|
# via
|
|
# irc
|
|
# jaraco-logging
|
|
twilio==9.8.3
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
twisted[tls]==25.5.0
|
|
# via
|
|
# -r /awx_devel/requirements/requirements.in
|
|
# daphne
|
|
txaio==25.9.2
|
|
# via autobahn
|
|
typing-extensions==4.15.0
|
|
# via
|
|
# aiosignal
|
|
# azure-core
|
|
# azure-identity
|
|
# azure-keyvault-certificates
|
|
# azure-keyvault-keys
|
|
# azure-keyvault-secrets
|
|
# grpcio
|
|
# opentelemetry-api
|
|
# opentelemetry-exporter-otlp-proto-grpc
|
|
# opentelemetry-exporter-otlp-proto-http
|
|
# opentelemetry-sdk
|
|
# opentelemetry-semantic-conventions
|
|
# psycopg
|
|
# pygithub
|
|
# pyopenssl
|
|
# pyzstd
|
|
# referencing
|
|
# twisted
|
|
uritemplate==4.2.0
|
|
# via drf-spectacular
|
|
urllib3==2.3.0
|
|
# via
|
|
# -r /awx_devel/requirements/requirements.in
|
|
# botocore
|
|
# django-ansible-base
|
|
# kubernetes
|
|
# pygithub
|
|
# requests
|
|
uwsgi==2.0.30
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
uwsgitop==0.12
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
websocket-client==1.8.0
|
|
# via kubernetes
|
|
wheel==0.42.0
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
wrapt==1.17.3
|
|
# via opentelemetry-instrumentation
|
|
yarl==1.22.0
|
|
# via aiohttp
|
|
zipp==3.23.0
|
|
# via importlib-metadata
|
|
zope-interface==8.0.1
|
|
# via twisted
|
|
zstandard==0.25.0
|
|
# via aiohttp
|
|
|
|
# The following packages are considered to be unsafe in a requirements file:
|
|
pip==21.2.4
|
|
# via -r /awx_devel/requirements/requirements.in
|
|
setuptools==80.9.0
|
|
# via
|
|
# -r /awx_devel/requirements/requirements.in
|
|
# asciichartpy
|
|
# autobahn
|
|
# incremental
|
|
# pbr
|
|
# setuptools-rust
|
|
# setuptools-scm
|