AAP-13369 Python 3.9 -> 3.11 upgrade (#14771)

* Python 3.9 -> 3.11 upgrade

* Test: updating azure-keyvault to 4.2.0

* Revert "Test: updating azure-keyvault to 4.2.0"

This reverts commit cf0b83699442e0c0de4a1152d4af8543a5e05b88.

* Test: updating azure-keyvault to latest and adding azure-identity

* Fix licenses

* Adding new licenses

* Revert "Fix licenses"

This reverts commit da3876911ef5ebbe7a8adbddd336ced3039b6228.

* Fixing dependencies

* Test: updating azure-keyvault to 4.2.0

* Fix licenses

* Revert "Fix licenses"

This reverts commit da3876911ef5ebbe7a8adbddd336ced3039b6228.

* Fixing dependencies

---------

Co-authored-by: César Francisco San Nicolás Martínez <csannico@redhat.com>
This commit is contained in:
Dave 2024-03-13 13:41:40 +00:00 committed by GitHub
parent dd9160135d
commit 12843eccf7
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
32 changed files with 414 additions and 217 deletions

View File

@ -1,6 +1,6 @@
-include awx/ui_next/Makefile -include awx/ui_next/Makefile
PYTHON := $(notdir $(shell for i in python3.9 python3; do command -v $$i; done|sed 1q)) PYTHON := $(notdir $(shell for i in python3.11 python3; do command -v $$i; done|sed 1q))
SHELL := bash SHELL := bash
DOCKER_COMPOSE ?= docker-compose DOCKER_COMPOSE ?= docker-compose
OFFICIAL ?= no OFFICIAL ?= no

View File

@ -1,9 +1,10 @@
from azure.keyvault.secrets import SecretClient
from azure.identity import ClientSecretCredential
from msrestazure import azure_cloud
from .plugin import CredentialPlugin from .plugin import CredentialPlugin
from django.utils.translation import gettext_lazy as _ from django.utils.translation import gettext_lazy as _
from azure.keyvault import KeyVaultClient, KeyVaultAuthentication
from azure.common.credentials import ServicePrincipalCredentials
from msrestazure import azure_cloud
# https://github.com/Azure/msrestazure-for-python/blob/master/msrestazure/azure_cloud.py # https://github.com/Azure/msrestazure-for-python/blob/master/msrestazure/azure_cloud.py
@ -54,22 +55,9 @@ azure_keyvault_inputs = {
def azure_keyvault_backend(**kwargs): def azure_keyvault_backend(**kwargs):
url = kwargs['url'] csc = ClientSecretCredential(tenant_id=kwargs['tenant'], client_id=kwargs['client'], client_secret=kwargs['secret'])
[cloud] = [c for c in clouds if c.name == kwargs.get('cloud_name', default_cloud.name)] kv = SecretClient(credential=csc, vault_url=kwargs['url'])
return kv.get_secret(name=kwargs['secret_field'], version=kwargs.get('secret_version', '')).value
def auth_callback(server, resource, scope):
credentials = ServicePrincipalCredentials(
url=url,
client_id=kwargs['client'],
secret=kwargs['secret'],
tenant=kwargs['tenant'],
resource=f"https://{cloud.suffixes.keyvault_dns.split('.', 1).pop()}",
)
token = credentials.token
return token['token_type'], token['access_token']
kv = KeyVaultClient(KeyVaultAuthentication(auth_callback))
return kv.get_secret(url, kwargs['secret_field'], kwargs.get('secret_version', '')).value
azure_keyvault_plugin = CredentialPlugin('Microsoft Azure Key Vault', inputs=azure_keyvault_inputs, backend=azure_keyvault_backend) azure_keyvault_plugin = CredentialPlugin('Microsoft Azure Key Vault', inputs=azure_keyvault_inputs, backend=azure_keyvault_backend)

View File

@ -175,9 +175,10 @@ class TestOptions(unittest.TestCase):
assert '--verbosity {0,1,2,3,4,5}' in out.getvalue() assert '--verbosity {0,1,2,3,4,5}' in out.getvalue()
def test_actions_with_primary_key(self): def test_actions_with_primary_key(self):
for method in ('get', 'modify', 'delete'):
page = OptionsPage.from_json({'actions': {'GET': {}, 'POST': {}}}) page = OptionsPage.from_json({'actions': {'GET': {}, 'POST': {}}})
ResourceOptionsParser(None, page, 'jobs', self.parser) ResourceOptionsParser(None, page, 'jobs', self.parser)
for method in ('get', 'modify', 'delete'):
assert method in self.parser.choices assert method in self.parser.choices
out = StringIO() out = StringIO()

View File

@ -8,7 +8,7 @@ skip_missing_interpreters = true
# skipsdist = true # skipsdist = true
[testenv] [testenv]
basepython = python3.9 basepython = python3.11
setenv = setenv =
PYTHONPATH = {toxinidir}:{env:PYTHONPATH:}:. PYTHONPATH = {toxinidir}:{env:PYTHONPATH:}:.
deps = deps =

View File

@ -1,6 +1,5 @@
The MIT License (MIT) The MIT License (MIT)
Copyright (c) 2020 aiohttp_retry Authors
Copyright (c) 2017 Laurent LAPORTE
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

View File

@ -0,0 +1,21 @@
The MIT License (MIT)
Copyright (c) 2022 the contributors
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View File

@ -0,0 +1,21 @@
Copyright (c) Microsoft Corporation.
MIT License
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View File

@ -0,0 +1,21 @@
Copyright (c) Microsoft Corporation.
MIT License
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View File

@ -0,0 +1,21 @@
Copyright (c) Microsoft Corporation.
MIT License
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

Binary file not shown.

View File

@ -0,0 +1,21 @@
Copyright (c) Microsoft Corporation.
MIT License
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View File

@ -1,10 +0,0 @@
# As listed on https://pypi.python.org/pypi/irc
The MIT License (MIT)
Copyright (c) <year> <copyright holders>
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

View File

@ -0,0 +1,19 @@
Copyright (c) 2022 Julian Berman
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,21 @@
MIT License
Copyright (c) Microsoft Corporation. All rights reserved.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE

24
licenses/msal.txt Normal file
View File

@ -0,0 +1,24 @@
The MIT License (MIT)
Copyright (c) Microsoft Corporation.
All rights reserved.
This code is licensed under the MIT License.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files(the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions :
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

11
licenses/portalocker.txt Normal file
View File

@ -0,0 +1,11 @@
Copyright 2022 Rick van Hattem
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Binary file not shown.

Binary file not shown.

View File

@ -1,6 +1,6 @@
The MIT License (MIT) The MIT License (MIT)
Copyright (c) 2016 Microsoft Copyright (c) 2022 Samuel Colvin
Permission is hereby granted, free of charge, to any person obtaining a copy Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal of this software and associated documentation files (the "Software"), to deal

View File

@ -1,22 +0,0 @@
Copyright (c) 2019 Tobias Gustafsson
Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation
files (the "Software"), to deal in the Software without
restriction, including without limitation the rights to use,
copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following
conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.

19
licenses/referencing.txt Normal file
View File

@ -0,0 +1,19 @@
Copyright (c) 2022 Julian Berman
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

19
licenses/rpds-py.txt Normal file
View File

@ -0,0 +1,19 @@
Copyright (c) 2023 Julian Berman
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

Binary file not shown.

Binary file not shown.

View File

@ -1,24 +0,0 @@
Copyright (c) 2013-2023, Graham Dumpleton
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.

6
package-lock.json generated Normal file
View File

@ -0,0 +1,6 @@
{
"name": "awx",
"lockfileVersion": 3,
"requires": true,
"packages": {}
}

View File

@ -110,16 +110,6 @@ OpenID Connect work that was done in
https://github.com/jazzband/django-oauth-toolkit/pull/915. This may https://github.com/jazzband/django-oauth-toolkit/pull/915. This may
be fixable by creating a migration on our end? be fixable by creating a migration on our end?
### azure-keyvault
Upgrading to 4.0.0 causes error because imports changed.
```
File "/var/lib/awx/venv/awx/lib64/python3.6/site-packages/awx/main/credential_plugins/azure_kv.py", line 4, in <module>
from azure.keyvault import KeyVaultClient, KeyVaultAuthentication
ImportError: cannot import name 'KeyVaultClient'
```
### pip, setuptools and setuptools_scm ### pip, setuptools and setuptools_scm
If modifying these libraries make sure testing with the offline build is performed to confirm they are functionally working. If modifying these libraries make sure testing with the offline build is performed to confirm they are functionally working.

View File

@ -3,12 +3,13 @@ ansiconv==1.0.0 # UPGRADE BLOCKER: from 2013, consider replacing instead of upg
asciichartpy asciichartpy
asn1 asn1
asyncpg asyncpg
azure-keyvault==1.1.0 # see UPGRADE BLOCKERs azure-identity
azure-keyvault
boto3 boto3
botocore botocore
channels channels
channels-redis==3.4.1 # see UPGRADE BLOCKERs channels-redis==3.4.1 # see UPGRADE BLOCKERs
cryptography>=41.0.6 # CVE-2023-49083 cryptography>=41.0.7 # CVE-2023-49083
Cython<3 # this is needed as a build dependency, one day we may have separated build deps Cython<3 # this is needed as a build dependency, one day we may have separated build deps
daphne daphne
distro distro
@ -33,6 +34,7 @@ jinja2>=3.1.3 # CVE-2024-22195
JSON-log-formatter JSON-log-formatter
jsonschema jsonschema
Markdown # used for formatting API help Markdown # used for formatting API help
msrestazure
openshift openshift
pexpect==4.7.0 # see library notes pexpect==4.7.0 # see library notes
prometheus_client prometheus_client

View File

@ -2,66 +2,89 @@ adal==1.2.7
# via msrestazure # via msrestazure
aiohttp==3.9.3 aiohttp==3.9.3
# via -r /awx_devel/requirements/requirements.in # via -r /awx_devel/requirements/requirements.in
# aiohttp-retry
# twilio
aiohttp-retry==2.8.3
# via twilio
aioredis==1.3.1 aioredis==1.3.1
# via channels-redis # via channels-redis
aiosignal==1.3.1 aiosignal==1.3.1
# via aiohttp # via aiohttp
annotated-types==0.6.0
# via pydantic
# via -r /awx_devel/requirements/requirements_git.txt # via -r /awx_devel/requirements/requirements_git.txt
ansiconv==1.0.0 ansiconv==1.0.0
# via -r /awx_devel/requirements/requirements.in # via -r /awx_devel/requirements/requirements.in
asciichartpy==1.5.25 asciichartpy==1.5.25
# via -r /awx_devel/requirements/requirements.in # via -r /awx_devel/requirements/requirements.in
asgiref==3.6.0 asgiref==3.7.2
# via # via
# channels # channels
# channels-redis # channels-redis
# daphne # daphne
# django # django
asn1==2.6.0 # django-cors-headers
asn1==2.7.0
# via -r /awx_devel/requirements/requirements.in # via -r /awx_devel/requirements/requirements.in
async-timeout==4.0.2 async-timeout==4.0.3
# via # via
# aiohttp # aiohttp
# aioredis # aioredis
# asyncpg
# redis # redis
asyncpg==0.27.0 asyncpg==0.29.0
# via -r /awx_devel/requirements/requirements.in # via -r /awx_devel/requirements/requirements.in
attrs==22.1.0 attrs==23.2.0
# via # via
# aiohttp # aiohttp
# automat # automat
# jsonschema # jsonschema
# referencing
# service-identity # service-identity
# twisted # twisted
autobahn==22.7.1 autobahn==23.6.2
# via daphne # via daphne
autocommand==2.2.2 autocommand==2.2.2
# via jaraco-text # via jaraco-text
automat==22.10.0 automat==22.10.0
# via twisted # via twisted
azure-common==1.1.28 azure-common==1.1.28
# via azure-keyvault # via
azure-core==1.26.1 # azure-keyvault-certificates
# via msrest # azure-keyvault-keys
azure-keyvault==1.1.0 # azure-keyvault-secrets
azure-core==1.30.0
# via
# azure-identity
# azure-keyvault-certificates
# azure-keyvault-keys
# azure-keyvault-secrets
# msrest
azure-identity==1.15.0
# via -r /awx_devel/requirements/requirements.in # via -r /awx_devel/requirements/requirements.in
azure-nspkg==3.0.2 azure-keyvault==4.2.0
# via azure-keyvault
boto3==1.26.102
# via -r /awx_devel/requirements/requirements.in # via -r /awx_devel/requirements/requirements.in
botocore==1.29.102 azure-keyvault-certificates==4.7.0
# via azure-keyvault
azure-keyvault-keys==4.8.0
# via azure-keyvault
azure-keyvault-secrets==4.7.0
# via azure-keyvault
boto3==1.34.47
# via -r /awx_devel/requirements/requirements.in
botocore==1.34.47
# via # via
# -r /awx_devel/requirements/requirements.in # -r /awx_devel/requirements/requirements.in
# boto3 # boto3
# s3transfer # s3transfer
cachetools==5.2.0 cachetools==5.3.2
# via google-auth # via google-auth
# via # via
# -r /awx_devel/requirements/requirements_git.txt # -r /awx_devel/requirements/requirements_git.txt
# kubernetes # kubernetes
# msrest # msrest
# requests # requests
cffi==1.15.1 cffi==1.16.0
# via cryptography # via cryptography
channels==3.0.5 channels==3.0.5
# via # via
@ -69,24 +92,27 @@ channels==3.0.5
# channels-redis # channels-redis
channels-redis==3.4.1 channels-redis==3.4.1
# via -r /awx_devel/requirements/requirements.in # via -r /awx_devel/requirements/requirements.in
charset-normalizer==2.1.1 charset-normalizer==3.3.2
# via requests # via requests
click==8.1.3 click==8.1.7
# via receptorctl # via receptorctl
constantly==15.1.0 constantly==23.10.4
# via twisted # via twisted
cryptography==41.0.7 cryptography==41.0.7
# via # via
# -r /awx_devel/requirements/requirements.in # -r /awx_devel/requirements/requirements.in
# adal # adal
# autobahn # autobahn
# azure-keyvault # azure-identity
# azure-keyvault-keys
# django-ansible-base # django-ansible-base
# jwcrypto # jwcrypto
# msal
# pyjwt
# pyopenssl # pyopenssl
# service-identity # service-identity
# social-auth-core # social-auth-core
cython==0.29.32 cython==0.29.37
# via -r /awx_devel/requirements/requirements.in # via -r /awx_devel/requirements/requirements.in
daphne==3.0.2 daphne==3.0.2
# via # via
@ -96,9 +122,7 @@ defusedxml==0.7.1
# via # via
# python3-openid # python3-openid
# social-auth-core # social-auth-core
deprecated==1.2.13 distro==1.9.0
# via jwcrypto
distro==1.8.0
# via -r /awx_devel/requirements/requirements.in # via -r /awx_devel/requirements/requirements.in
django==4.2.6 django==4.2.6
# via # via
@ -116,15 +140,15 @@ django==4.2.6
# djangorestframework # djangorestframework
# social-auth-app-django # social-auth-app-django
# via -r /awx_devel/requirements/requirements_git.txt # via -r /awx_devel/requirements/requirements_git.txt
django-auth-ldap==4.1.0 django-auth-ldap==4.6.0
# via -r /awx_devel/requirements/requirements.in # via -r /awx_devel/requirements/requirements.in
django-cors-headers==3.13.0 django-cors-headers==4.3.1
# via -r /awx_devel/requirements/requirements.in # via -r /awx_devel/requirements/requirements.in
django-crum==0.7.9 django-crum==0.7.9
# via # via
# -r /awx_devel/requirements/requirements.in # -r /awx_devel/requirements/requirements.in
# django-ansible-base # django-ansible-base
django-extensions==3.2.1 django-extensions==3.2.3
# via -r /awx_devel/requirements/requirements.in # via -r /awx_devel/requirements/requirements.in
django-guid==3.2.1 django-guid==3.2.1
# via -r /awx_devel/requirements/requirements.in # via -r /awx_devel/requirements/requirements.in
@ -135,7 +159,7 @@ django-pglocks==1.0.4
django-polymorphic==3.1.0 django-polymorphic==3.1.0
# via -r /awx_devel/requirements/requirements.in # via -r /awx_devel/requirements/requirements.in
# via -r /awx_devel/requirements/requirements_git.txt # via -r /awx_devel/requirements/requirements_git.txt
django-solo==2.0.0 django-solo==2.2.0
# via -r /awx_devel/requirements/requirements.in # via -r /awx_devel/requirements/requirements.in
django-split-settings==1.0.0 django-split-settings==1.0.0
# via # via
@ -147,23 +171,23 @@ djangorestframework==3.14.0
# django-ansible-base # django-ansible-base
djangorestframework-yaml==2.0.0 djangorestframework-yaml==2.0.0
# via -r /awx_devel/requirements/requirements.in # via -r /awx_devel/requirements/requirements.in
docutils==0.19 docutils==0.20.1
# via python-daemon # via python-daemon
ecdsa==0.18.0 ecdsa==0.18.0
# via python-jose # via python-jose
enum-compat==0.0.3 enum-compat==0.0.3
# via asn1 # via asn1
filelock==3.8.0 filelock==3.13.1
# via -r /awx_devel/requirements/requirements.in # via -r /awx_devel/requirements/requirements.in
frozenlist==1.3.3 frozenlist==1.4.1
# via # via
# aiohttp # aiohttp
# aiosignal # aiosignal
gitdb==4.0.10 gitdb==4.0.11
# via gitpython # via gitpython
gitpython==3.1.42 gitpython==3.1.42
# via -r /awx_devel/requirements/requirements.in # via -r /awx_devel/requirements/requirements.in
google-auth==2.14.1 google-auth==2.28.1
# via kubernetes # via kubernetes
hiredis==2.0.0 hiredis==2.0.0
# via # via
@ -173,44 +197,45 @@ hyperlink==21.0.0
# via # via
# autobahn # autobahn
# twisted # twisted
idna==3.4 idna==3.6
# via # via
# hyperlink # hyperlink
# requests # requests
# twisted # twisted
# yarl # yarl
importlib-metadata==4.6.4 importlib-metadata==6.2.1
# via # via
# ansible-runner # ansible-runner
# markdown # markdown
incremental==22.10.0 incremental==22.10.0
# via twisted # via twisted
inflect==6.0.2 inflect==7.0.0
# via jaraco-text # via jaraco-text
inflection==0.5.1 inflection==0.5.1
# via django-ansible-base # via django-ansible-base
irc==20.1.0 irc==20.3.1
# via -r /awx_devel/requirements/requirements.in # via -r /awx_devel/requirements/requirements.in
isodate==0.6.1 isodate==0.6.1
# via # via
# azure-keyvault-certificates
# azure-keyvault-keys
# azure-keyvault-secrets
# msrest # msrest
# python3-saml # python3-saml
jaraco-classes==3.2.3 jaraco-collections==5.0.0
# via jaraco-collections
jaraco-collections==3.8.0
# via irc # via irc
jaraco-context==4.2.0 jaraco-context==4.3.0
# via jaraco-text # via jaraco-text
jaraco-functools==3.5.2 jaraco-functools==4.0.0
# via # via
# irc # irc
# jaraco-text # jaraco-text
# tempora # tempora
jaraco-logging==3.1.2 jaraco-logging==3.3.0
# via irc # via irc
jaraco-stream==3.0.3 jaraco-stream==3.0.3
# via irc # via irc
jaraco-text==3.11.0 jaraco-text==3.12.0
# via # via
# irc # irc
# jaraco-collections # jaraco-collections
@ -220,57 +245,63 @@ jmespath==1.0.1
# via # via
# boto3 # boto3
# botocore # botocore
json-log-formatter==0.5.1 json-log-formatter==0.5.2
# via -r /awx_devel/requirements/requirements.in # via -r /awx_devel/requirements/requirements.in
jsonschema==4.17.3 jsonschema==4.21.1
# via -r /awx_devel/requirements/requirements.in # via -r /awx_devel/requirements/requirements.in
jwcrypto==1.4.2 jsonschema-specifications==2023.12.1
# via jsonschema
jwcrypto==1.5.4
# via django-oauth-toolkit # via django-oauth-toolkit
kubernetes==25.3.0 kubernetes==29.0.0
# via openshift # via openshift
lockfile==0.12.2 lockfile==0.12.2
# via python-daemon # via python-daemon
lxml==4.9.1 lxml==4.9.4
# via # via
# python3-saml # python3-saml
# xmlsec # xmlsec
markdown==3.4.1 markdown==3.5.2
# via -r /awx_devel/requirements/requirements.in # via -r /awx_devel/requirements/requirements.in
markupsafe==2.1.1 markupsafe==2.1.5
# via jinja2 # via jinja2
more-itertools==9.0.0 more-itertools==10.2.0
# via # via
# irc # irc
# jaraco-classes
# jaraco-functools # jaraco-functools
# jaraco-text # jaraco-text
msgpack==1.0.4 msal==1.26.0
# via
# azure-identity
# msal-extensions
msal-extensions==1.1.0
# via azure-identity
msgpack==1.0.7
# via channels-redis # via channels-redis
msrest==0.7.1 msrest==0.7.1
# via # via msrestazure
# azure-keyvault
# msrestazure
msrestazure==0.6.4 msrestazure==0.6.4
# via azure-keyvault # via -r /awx_devel/requirements/requirements.in
multidict==6.0.2 multidict==6.0.5
# via # via
# aiohttp # aiohttp
# yarl # yarl
netaddr==0.8.0 netaddr==1.2.1
# via pyrad # via pyrad
oauthlib==3.2.2 oauthlib==3.2.2
# via # via
# django-oauth-toolkit # django-oauth-toolkit
# kubernetes
# requests-oauthlib # requests-oauthlib
# social-auth-core # social-auth-core
openshift==0.13.1 openshift==0.13.2
# via -r /awx_devel/requirements/requirements.in # via -r /awx_devel/requirements/requirements.in
packaging==21.3 packaging==23.2
# via # via
# ansible-runner # ansible-runner
# redis # msal-extensions
# setuptools-scm # setuptools-scm
pbr==5.11.0 pbr==6.0.0
# via -r /awx_devel/requirements/requirements.in # via -r /awx_devel/requirements/requirements.in
pexpect==4.7.0 pexpect==4.7.0
# via # via
@ -278,50 +309,51 @@ pexpect==4.7.0
# ansible-runner # ansible-runner
pkgconfig==1.5.5 pkgconfig==1.5.5
# via -r /awx_devel/requirements/requirements.in # via -r /awx_devel/requirements/requirements.in
prometheus-client==0.15.0 portalocker==2.8.2
# via msal-extensions
prometheus-client==0.20.0
# via -r /awx_devel/requirements/requirements.in # via -r /awx_devel/requirements/requirements.in
psutil==5.9.4 psutil==5.9.8
# via -r /awx_devel/requirements/requirements.in # via -r /awx_devel/requirements/requirements.in
psycopg==3.1.9 psycopg==3.1.18
# via -r /awx_devel/requirements/requirements.in # via -r /awx_devel/requirements/requirements.in
ptyprocess==0.7.0 ptyprocess==0.7.0
# via pexpect # via pexpect
pyasn1==0.4.8 pyasn1==0.5.1
# via # via
# pyasn1-modules # pyasn1-modules
# python-jose # python-jose
# python-ldap # python-ldap
# rsa # rsa
# service-identity # service-identity
pyasn1-modules==0.2.8 pyasn1-modules==0.3.0
# via # via
# google-auth # google-auth
# python-ldap # python-ldap
# service-identity # service-identity
pycparser==2.21 pycparser==2.21
# via cffi # via cffi
pydantic==1.10.2 pydantic==2.6.1
# via inflect # via inflect
pydantic-core==2.16.2
# via pydantic
pygerduty==0.38.3 pygerduty==0.38.3
# via -r /awx_devel/requirements/requirements.in # via -r /awx_devel/requirements/requirements.in
pyjwt==2.6.0 pyjwt[crypto]==2.8.0
# via # via
# adal # adal
# django-ansible-base # django-ansible-base
# msal
# social-auth-core # social-auth-core
# twilio # twilio
pyopenssl==23.2.0 pyopenssl==24.0.0
# via # via
# -r /awx_devel/requirements/requirements.in # -r /awx_devel/requirements/requirements.in
# twisted # twisted
pyparsing==2.4.6 pyparsing==2.4.6
# via # via -r /awx_devel/requirements/requirements.in
# -r /awx_devel/requirements/requirements.in
# packaging
pyrad==2.4 pyrad==2.4
# via django-radius # via django-radius
pyrsistent==0.19.2
# via jsonschema
python-daemon==3.0.1 python-daemon==3.0.1
# via # via
# -r /awx_devel/requirements/requirements.in # -r /awx_devel/requirements/requirements.in
@ -336,23 +368,22 @@ python-dsv-sdk==1.0.4
# via -r /awx_devel/requirements/requirements.in # via -r /awx_devel/requirements/requirements.in
python-jose==3.3.0 python-jose==3.3.0
# via social-auth-core # via social-auth-core
python-ldap==3.4.3 python-ldap==3.4.4
# via # via
# -r /awx_devel/requirements/requirements.in # -r /awx_devel/requirements/requirements.in
# django-auth-ldap # django-auth-ldap
python-string-utils==1.0.0 python-string-utils==1.0.0
# via openshift # via openshift
python-tss-sdk==1.2.1 python-tss-sdk==1.2.2
# via -r /awx_devel/requirements/requirements.in # via -r /awx_devel/requirements/requirements.in
python3-openid==3.2.0 python3-openid==3.2.0
# via social-auth-core # via social-auth-core
# via -r /awx_devel/requirements/requirements_git.txt # via -r /awx_devel/requirements/requirements_git.txt
pytz==2022.6 pytz==2024.1
# via # via
# djangorestframework # djangorestframework
# irc # irc
# tempora # tempora
# twilio
pyyaml==6.0.1 pyyaml==6.0.1
# via # via
# -r /awx_devel/requirements/requirements.in # -r /awx_devel/requirements/requirements.in
@ -362,17 +393,21 @@ pyyaml==6.0.1
# receptorctl # receptorctl
receptorctl==1.4.4 receptorctl==1.4.4
# via -r /awx_devel/requirements/requirements.in # via -r /awx_devel/requirements/requirements.in
redis==4.3.5 redis==5.0.1
# via -r /awx_devel/requirements/requirements.in # via -r /awx_devel/requirements/requirements.in
requests==2.28.1 referencing==0.33.0
# via
# jsonschema
# jsonschema-specifications
requests==2.31.0
# via # via
# -r /awx_devel/requirements/requirements.in # -r /awx_devel/requirements/requirements.in
# adal # adal
# azure-core # azure-core
# azure-keyvault
# django-ansible-base # django-ansible-base
# django-oauth-toolkit # django-oauth-toolkit
# kubernetes # kubernetes
# msal
# msrest # msrest
# python-dsv-sdk # python-dsv-sdk
# python-tss-sdk # python-tss-sdk
@ -384,17 +419,21 @@ requests-oauthlib==1.3.1
# kubernetes # kubernetes
# msrest # msrest
# social-auth-core # social-auth-core
rpds-py==0.18.0
# via
# jsonschema
# referencing
rsa==4.9 rsa==4.9
# via # via
# google-auth # google-auth
# python-jose # python-jose
s3transfer==0.6.0 s3transfer==0.10.0
# via boto3 # via boto3
semantic-version==2.10.0 semantic-version==2.10.0
# via setuptools-rust # via setuptools-rust
service-identity==21.1.0 service-identity==24.1.0
# via twisted # via twisted
setuptools-rust==1.5.2 setuptools-rust==1.8.1
# via -r /awx_devel/requirements/requirements.in # via -r /awx_devel/requirements/requirements.in
setuptools-scm[toml]==8.0.4 setuptools-scm[toml]==8.0.4
# via -r /awx_devel/requirements/requirements.in # via -r /awx_devel/requirements/requirements.in
@ -404,7 +443,6 @@ six==1.16.0
# azure-core # azure-core
# django-pglocks # django-pglocks
# ecdsa # ecdsa
# google-auth
# isodate # isodate
# kubernetes # kubernetes
# msrestazure # msrestazure
@ -412,11 +450,10 @@ six==1.16.0
# pygerduty # pygerduty
# pyrad # pyrad
# python-dateutil # python-dateutil
# service-identity
# tacacs-plus # tacacs-plus
slack-sdk==3.19.4 slack-sdk==3.27.0
# via -r /awx_devel/requirements/requirements.in # via -r /awx_devel/requirements/requirements.in
smmap==5.0.0 smmap==5.0.1
# via gitdb # via gitdb
social-auth-app-django==5.4.0 social-auth-app-django==5.4.0
# via -r /awx_devel/requirements/requirements.in # via -r /awx_devel/requirements/requirements.in
@ -430,60 +467,66 @@ sqlparse==0.4.4
# django # django
tacacs-plus==1.0 tacacs-plus==1.0
# via -r /awx_devel/requirements/requirements.in # via -r /awx_devel/requirements/requirements.in
tempora==5.1.0 tempora==5.5.1
# via # via
# irc # irc
# jaraco-logging # jaraco-logging
tomli==2.0.1 tomli==2.0.1
# via setuptools-scm # via
twilio==7.15.3 # setuptools-rust
# setuptools-scm
twilio==8.13.0
# via -r /awx_devel/requirements/requirements.in # via -r /awx_devel/requirements/requirements.in
twisted[tls]==23.10.0 twisted[tls]==23.10.0
# via # via
# -r /awx_devel/requirements/requirements.in # -r /awx_devel/requirements/requirements.in
# daphne # daphne
txaio==22.2.1 txaio==23.1.1
# via autobahn # via autobahn
typing-extensions==4.4.0 typing-extensions==4.9.0
# via # via
# asgiref
# azure-core # azure-core
# azure-keyvault-certificates
# azure-keyvault-keys
# azure-keyvault-secrets
# inflect
# jwcrypto
# psycopg # psycopg
# setuptools-rust # pydantic
# pydantic-core
# setuptools-scm # setuptools-scm
# twisted # twisted
urllib3==1.26.17 urllib3==1.26.18
# via # via
# botocore # botocore
# kubernetes # kubernetes
# requests # requests
uwsgi==2.0.21 uwsgi==2.0.24
# via -r /awx_devel/requirements/requirements.in # via -r /awx_devel/requirements/requirements.in
uwsgitop==0.11 uwsgitop==0.11
# via -r /awx_devel/requirements/requirements.in # via -r /awx_devel/requirements/requirements.in
websocket-client==1.4.2 websocket-client==1.7.0
# via kubernetes # via kubernetes
wheel==0.38.4 wheel==0.42.0
# via -r /awx_devel/requirements/requirements.in # via -r /awx_devel/requirements/requirements.in
wrapt==1.15.0
# via deprecated
xmlsec==1.3.13 xmlsec==1.3.13
# via python3-saml # via python3-saml
yarl==1.8.1 yarl==1.9.4
# via aiohttp # via aiohttp
zipp==3.11.0 zipp==3.17.0
# via importlib-metadata # via importlib-metadata
zope-interface==5.5.2 zope-interface==6.2
# via twisted # via twisted
# The following packages are considered to be unsafe in a requirements file: # The following packages are considered to be unsafe in a requirements file:
pip==21.2.4 pip==21.2.4
# via -r /awx_devel/requirements/requirements.in # via -r /awx_devel/requirements/requirements.in
setuptools==65.6.3 setuptools==69.1.0
# via # via
# -r /awx_devel/requirements/requirements.in # -r /awx_devel/requirements/requirements.in
# asciichartpy # asciichartpy
# autobahn # autobahn
# kubernetes
# python-daemon # python-daemon
# setuptools-rust # setuptools-rust
# setuptools-scm # setuptools-scm

View File

@ -39,15 +39,18 @@ RUN dnf -y update && dnf install -y 'dnf-command(config-manager)' && \
patch \ patch \
postgresql \ postgresql \
postgresql-devel \ postgresql-devel \
python3-devel \ python3.11 \
python3-pip \ "python3.11-devel" \
python3-setuptools \ "python3.11-pip" \
"python3.11-setuptools" \
"python3.11-packaging" \
"python3.11-psycopg2" \
swig \ swig \
unzip \ unzip \
xmlsec1-devel \ xmlsec1-devel \
xmlsec1-openssl-devel xmlsec1-openssl-devel
RUN pip3 install virtualenv build psycopg RUN pip3.11 install -vv build
{% if image_architecture == 'ppc64le' %} {% if image_architecture == 'ppc64le' %}
RUN dnf -y update && dnf install -y wget && \ RUN dnf -y update && dnf install -y wget && \
@ -118,10 +121,12 @@ RUN dnf -y update && dnf install -y 'dnf-command(config-manager)' && \
nginx \ nginx \
"openldap >= 2.6.2-3" \ "openldap >= 2.6.2-3" \
postgresql \ postgresql \
python3-devel \ python3.11 \
python3-libselinux \ "python3.11-devel" \
python3-pip \ "python3.11-pip*" \
python3-setuptools \ "python3.11-setuptools" \
"python3.11-packaging" \
"python3.11-psycopg2" \
rsync \ rsync \
rsyslog-8.2102.0-106.el9 \ rsyslog-8.2102.0-106.el9 \
subversion \ subversion \
@ -132,7 +137,7 @@ RUN dnf -y update && dnf install -y 'dnf-command(config-manager)' && \
xmlsec1-openssl && \ xmlsec1-openssl && \
dnf -y clean all dnf -y clean all
RUN pip3 install virtualenv supervisor dumb-init psycopg RUN pip3.11 install -vv virtualenv supervisor dumb-init build
RUN rm -rf /root/.cache && rm -rf /tmp/* RUN rm -rf /root/.cache && rm -rf /tmp/*
@ -164,7 +169,8 @@ RUN dnf -y install \
unzip && \ unzip && \
npm install -g n && n 16.13.1 && npm install -g npm@8.5.0 && dnf remove -y nodejs npm install -g n && n 16.13.1 && npm install -g npm@8.5.0 && dnf remove -y nodejs
RUN pip3 install black git+https://github.com/coderanger/supervisor-stdout setuptools-scm RUN pip3.11 install -vv git+https://github.com/coderanger/supervisor-stdout.git@973ba19967cdaf46d9c1634d1675fc65b9574f6e
RUN pip3.11 install -vv black setuptools-scm build
# This package randomly fails to download. # This package randomly fails to download.
# It is nice to have in the dev env, but not necessary. # It is nice to have in the dev env, but not necessary.
@ -235,7 +241,7 @@ ADD tools/scripts/awx-python /usr/bin/awx-python
{% endif %} {% endif %}
{% if (build_dev|bool) or (kube_dev|bool) %} {% if (build_dev|bool) or (kube_dev|bool) %}
RUN echo /awx_devel > /var/lib/awx/venv/awx/lib/python3.9/site-packages/awx.egg-link RUN echo /awx_devel > /var/lib/awx/venv/awx/lib/python3.11/site-packages/awx.egg-link
ADD tools/docker-compose/awx-manage /usr/local/bin/awx-manage ADD tools/docker-compose/awx-manage /usr/local/bin/awx-manage
RUN ln -sf /awx_devel/tools/scripts/awx-python /usr/bin/awx-python RUN ln -sf /awx_devel/tools/scripts/awx-python /usr/bin/awx-python
RUN ln -sf /awx_devel/tools/scripts/rsyslog-4xx-recovery /usr/bin/rsyslog-4xx-recovery RUN ln -sf /awx_devel/tools/scripts/rsyslog-4xx-recovery /usr/bin/rsyslog-4xx-recovery
@ -270,8 +276,8 @@ RUN for dir in \
/var/lib/awx/.local \ /var/lib/awx/.local \
/var/lib/awx/venv \ /var/lib/awx/venv \
/var/lib/awx/venv/awx/bin \ /var/lib/awx/venv/awx/bin \
/var/lib/awx/venv/awx/lib/python3.9 \ /var/lib/awx/venv/awx/lib/python3.11 \
/var/lib/awx/venv/awx/lib/python3.9/site-packages \ /var/lib/awx/venv/awx/lib/python3.11/site-packages \
/var/lib/awx/projects \ /var/lib/awx/projects \
/var/lib/awx/rsyslog \ /var/lib/awx/rsyslog \
/var/run/awx-rsyslog \ /var/run/awx-rsyslog \