Install PBR explicitly

We do this because easy_install on python3.5 is failing to find pbr. I
believe this is happening due to pypi's deprecation of non SNI tls
connections. They report that the version of 3.5 on xenial should be
able to do SNI but easy_install at least doesn't seem to do so.

Note we restrict this to python>=3 and <=3.5 as python 2.7 had
backported fixes. Also, this really only helps with unittesting via tox
as we instruct tox to explicitly install the requirements files before
creating/installing the package itself. This is the reason we stick this
in test-requirements.txt rather than requirements.txt.

Change-Id: Iac2c1f4f575de250ed0dba22d33b017322fd7562
This commit is contained in:
Clark Boylan 2021-04-20 15:44:43 -07:00
parent 18189abf59
commit ef1a35f4e1
2 changed files with 10 additions and 0 deletions

View File

@ -1,3 +1,7 @@
# This is listed in order to preinstall PBR with pip as easy_install
# on these older python versions can no longer reliably talk to pypi
# due to non SNI TLS connections being disabled.
pbr ; python_version >= "3" and python_version <= "3.5"
hacking>=2.0.0,<2.1.0 hacking>=2.0.0,<2.1.0
mock mock
fixtures>=0.3.14 fixtures>=0.3.14

View File

@ -1,9 +1,15 @@
[tox] [tox]
envlist = linters,docs,py3 envlist = linters,docs,py3
ignore_basepython_conflict = true ignore_basepython_conflict = true
# We skipsdist to force test-requirements and specifically pbr
# to be installed prior to installing git-review. This ensures that
# easy_install doesn't try to talk to pypi.org for pbr which fails
# on older python due to a lack of SNI support.
skipsdist = true
[testenv] [testenv]
basepython = python3 basepython = python3
usedevelop = true
# See "testing behind a proxy" https://review.opendev.org/624496 # See "testing behind a proxy" https://review.opendev.org/624496
passenv = passenv =
http_proxy http_proxy