Add minimum version and fix dulwich issue

Main changes:
- Add minimum version for requirements [1]
- Fix dulwich issue that broke py35 gate [2]

Trivial changes:
- Re-format multi-line deps in tox.ini
- Verify and change constraints of pymongo, prettytable
  to match global requirements

---
requirements without minimum version definitaions may cause CI failure

Merge https://review.openstack.org/#/c/574367/ made requirements job
check for minimum version definitions, requirements without minimum version
may cause CI failure.

This patch sync the requirements with lower-constraints

---
Start using upper-constraints in tox venvs

Without this we are exposed to any breakages in dependencies, which
is currently blocking the repo because of a broken dulwich release.

Note that this required the removal of the explicit .[oslo_config]
requirement.  I'm not sure why that was there since it will be
pulled in by oslo.concurrency anyway and it broke the venv creation
when constraints were added.  Since I'm not sure why it was split
out as a separate thing I'm leaving the setup.cfg target but
removing it from tox.ini.

We also need to pin dulwich in lower-constraints, even though it's a
transitive dependency.  Otherwise the lower-constraints job installs
the broken latest version.

Transitive dependency that we need to pin due to
https://bugs.launchpad.net/tripleo/+bug/1778004
---

[1] https://review.openstack.org/#/c/575691
[2] https://review.openstack.org/#/c/577462

Co-Authored-By: Kevin_Zheng <zhengzhenyu@huawei.com>
Co-Authored-By: Ben Nemec <bnemec@redhat.com>

Change-Id: Ibfe5f460139849ba39b369321360f6f5a0e9e2a0
Closes-Bug: #1777083
Closes-Bug: #1778004
This commit is contained in:
Tovin Seven 2018-06-25 18:29:36 +07:00
parent eb6376c052
commit 4a2f002005
4 changed files with 33 additions and 30 deletions

View File

@ -1,5 +1,6 @@
coverage===4.0
ddt===1.0.1
dulwich===0.15.0
elasticsearch===2.0.0
futures===3.0.0
jaeger-client==3.8.0
@ -10,7 +11,7 @@ oslo.concurrency===3.26.0
oslo.config===5.2.0
oslo.serialization===2.18.0
oslo.utils===3.33.0
PrettyTable===0.7.1
PrettyTable===0.7.2
pymongo===3.0.2
redis===2.10.0
reno===2.5.0

View File

@ -1,8 +1,8 @@
netaddr # BSD
oslo.concurrency # Apache-2.0
oslo.serialization # Apache-2.0
oslo.utils # Apache-2.0
PrettyTable<0.8 # BSD
requests # Apache-2.0
six # MIT
WebOb # MIT
netaddr>=0.7.18 # BSD
oslo.concurrency>=3.26.0 # Apache-2.0
oslo.serialization>=2.18.0 # Apache-2.0
oslo.utils>=3.33.0 # Apache-2.0
PrettyTable<0.8,>=0.7.2 # BSD
requests>=2.14.2 # Apache-2.0
six>=1.10.0 # MIT
WebOb>=1.7.1 # MIT

View File

@ -1,28 +1,28 @@
hacking!=0.13.0,<0.14 # Apache-2.0
hacking>=0.12.0,!=0.13.0,<0.14 # Apache-2.0
coverage # Apache-2.0
ddt # MIT
mock # BSD
testrepository # Apache-2.0/BSD
testtools # MIT
coverage>=4.0 # Apache-2.0
ddt>=1.0.1 # MIT
mock>=2.0.0 # BSD
testrepository>=0.0.18 # Apache-2.0/BSD
testtools>=2.2.0 # MIT
openstackdocstheme # Apache-2.0
sphinx # BSD
openstackdocstheme>=1.18.1 # Apache-2.0
sphinx>=1.6.2 # BSD
# Bandit security code scanner
bandit # Apache-2.0
bandit>=1.1.0 # Apache-2.0
pymongo!=3.1 # Apache-2.0
pymongo!=3.1,>=3.0.2 # Apache-2.0
# Elasticsearch python client
elasticsearch<=3.0.0 # Apache-2.0
elasticsearch>=2.0.0,<=3.0.0 # Apache-2.0
# Redis python client
redis # MIT
redis>=2.10.0 # MIT
# Build release notes
reno # Apache-2.0
reno>=2.5.0 # Apache-2.0
# For Jaeger Tracing
jaeger-client # Apache-2.0
futures;python_version=='2.7' or python_version=='2.6' # PSF
jaeger-client>=3.8.0 # Apache-2.0
futures>=3.0.0;python_version=='2.7' or python_version=='2.6' # PSF

14
tox.ini
View File

@ -8,9 +8,10 @@ setenv = VIRTUAL_ENV={envdir}
LANG=en_US.UTF-8
LANGUAGE=en_US:en
LC_ALL=C
deps = .[oslo_config]
-r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
deps =
-c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt}
-r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
install_command = pip install -U {opts} {packages}
usedevelop = True
commands = python setup.py testr --slowest --testr-args='{posargs}'
@ -23,8 +24,9 @@ basepython = python2.7
basepython = python2.7
setenv = {[testenv]setenv}
OS_TEST_PATH=./osprofiler/tests/functional
deps = {[testenv]deps}
oslo.messaging
deps =
{[testenv]deps}
oslo.messaging
[testenv:functional-py35]
basepython = python3.5
@ -72,4 +74,4 @@ basepython = python3
deps =
-c{toxinidir}/lower-constraints.txt
-r{toxinidir}/test-requirements.txt
-r{toxinidir}/requirements.txt
-r{toxinidir}/requirements.txt