diff --git a/changelogs/fragments/ansible-test-pyopenssl.yaml b/changelogs/fragments/ansible-test-pyopenssl.yaml index f05ef8ead33..c6d93f3be98 100644 --- a/changelogs/fragments/ansible-test-pyopenssl.yaml +++ b/changelogs/fragments/ansible-test-pyopenssl.yaml @@ -1,2 +1,2 @@ -bugfixes: - - ansible-test - When installing ``cryptography < 3.4`` also install ``pyopenssl < 22`` to avoid conflicts. +minor_changes: + - ansible-test - Installation of ``cryptography`` is no longer version constrained when ``openssl`` 1.1.0 or later is installed. diff --git a/test/lib/ansible_test/_internal/python_requirements.py b/test/lib/ansible_test/_internal/python_requirements.py index 409851fe745..21e59479a3f 100644 --- a/test/lib/ansible_test/_internal/python_requirements.py +++ b/test/lib/ansible_test/_internal/python_requirements.py @@ -452,11 +452,11 @@ def get_cryptography_requirements(python): # type: (PythonConfig) -> t.List[str # pyopenssl 20.0.0 requires cryptography 3.2 or later pyopenssl = 'pyopenssl < 20.0.0' else: - # cryptography 3.4+ fails to install on many systems - # this is a temporary work-around until a more permanent solution is available - cryptography = 'cryptography < 3.4' - # pyopenssl 20.0.0 requires cryptography 35 or later - pyopenssl = 'pyopenssl < 22.0.0' + # cryptography 3.4+ builds require a working rust toolchain + # systems bootstrapped using ansible-core-ci can access additional wheels through the spare-tire package index + cryptography = 'cryptography' + # any future installation of pyopenssl is free to use any compatible version of cryptography + pyopenssl = '' requirements = [ cryptography, diff --git a/test/lib/ansible_test/_util/target/setup/bootstrap.sh b/test/lib/ansible_test/_util/target/setup/bootstrap.sh index 30752f38489..d65a614f339 100644 --- a/test/lib/ansible_test/_util/target/setup/bootstrap.sh +++ b/test/lib/ansible_test/_util/target/setup/bootstrap.sh @@ -145,6 +145,13 @@ bootstrap_remote_freebsd() sed -i '' 's/^# *PermitRootLogin.*$/PermitRootLogin yes/;' /etc/ssh/sshd_config service sshd restart fi + + # make additional wheels available for packages which lack them for this platform + echo "# generated by ansible-test +[global] +extra-index-url = https://spare-tire.testing.ansible.com/simple/ +prefer-binary = yes +" > /etc/pip.conf } bootstrap_remote_macos()