From 4a2f00200510d9c8659c1f59f52054ee4615fcaa Mon Sep 17 00:00:00 2001 From: Tovin Seven Date: Mon, 25 Jun 2018 18:29:36 +0700 Subject: [PATCH] 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 Co-Authored-By: Ben Nemec Change-Id: Ibfe5f460139849ba39b369321360f6f5a0e9e2a0 Closes-Bug: #1777083 Closes-Bug: #1778004 --- lower-constraints.txt | 3 ++- requirements.txt | 16 ++++++++-------- test-requirements.txt | 30 +++++++++++++++--------------- tox.ini | 14 ++++++++------ 4 files changed, 33 insertions(+), 30 deletions(-) diff --git a/lower-constraints.txt b/lower-constraints.txt index 4ac38ad..205cbaa 100644 --- a/lower-constraints.txt +++ b/lower-constraints.txt @@ -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 diff --git a/requirements.txt b/requirements.txt index 9696c00..2239282 100644 --- a/requirements.txt +++ b/requirements.txt @@ -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 diff --git a/test-requirements.txt b/test-requirements.txt index 4235472..1777ed4 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -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 diff --git a/tox.ini b/tox.ini index 902697a..6adac69 100644 --- a/tox.ini +++ b/tox.ini @@ -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 \ No newline at end of file + -r{toxinidir}/requirements.txt