add lower-constraints job

Create a tox environment for running the unit tests against the lower
bounds of the dependencies.

Create a lower-constraints.txt to be used to enforce the lower bounds
in those tests.

Add openstack-tox-lower-constraints job to the zuul configuration.

Update the dependencies needed to make the unit tests pass while
constrained to the lower bounds.

See http://lists.openstack.org/pipermail/openstack-dev/2018-March/128352.html
for more details.

Co-Authored-By: Nguyen Hai <nguyentrihai93@gmail.com>
Change-Id: I2a8f465c8b08370517cbec857933b08fca94ca38
Depends-On: https://review.openstack.org/555034
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
This commit is contained in:
Doug Hellmann 2018-03-22 18:04:06 -04:00
parent 5ed910cd32
commit b5ed14f90a
7 changed files with 84 additions and 14 deletions

7
.zuul.yaml Normal file
View File

@ -0,0 +1,7 @@
- project:
check:
jobs:
- openstack-tox-lower-constraints
gate:
jobs:
- openstack-tox-lower-constraints

46
lower-constraints.txt Normal file
View File

@ -0,0 +1,46 @@
alabaster==0.7.10
Babel==2.3.4
certifi==2018.1.18
chardet==3.0.4
coverage==4.0
docutils==0.11
dulwich==0.15.0
extras==1.0.0
fixtures==3.0.0
flake8==2.2.4
futures==3.0.0
hacking==0.10.0
idna==2.6
imagesize==0.7.1
iso8601==0.1.8
Jinja2==2.10
keystoneauth1==3.4.0
linecache2==1.0.0
MarkupSafe==1.0
mccabe==0.2.1
mock==1.2.0
netaddr==0.7.10
openstackdocstheme==1.18.1
oslo.config==1.2.0
oslosphinx==4.7.0
pbr==2.0.0
pep8==1.5.7
PrettyTable==0.7
pyflakes==0.8.1
Pygments==2.2.0
python-keystoneclient==3.8.0
python-mimeparse==1.6.0
python-subunit==1.0.0
pytz==2013.6
PyYAML==3.12
reno==2.5.0
requests==2.14.2
six==1.10.0
snowballstemmer==1.2.1
sphinx==1.6.2
sphinxcontrib-websupport==1.0.1
testrepository==0.0.18
testtools==2.2.0
traceback2==1.4.0
unittest2==1.1.0
urllib3==1.22

View File

@ -1,3 +1,6 @@
futures>=3.0;python_version=='2.7' or python_version=='2.6' # BSD
requests>=1.1
six>=1.5.2
# The order of packages is significant, because pip processes them in the order
# of appearance. Changing the order has an impact on the overall integration
# process, which may cause wedges in the gate later.
futures>=3.0.0;python_version=='2.7' or python_version=='2.6' # BSD
requests>=2.14.2 # Apache-2.0
six>=1.10.0 # MIT

View File

@ -34,7 +34,7 @@ data_files =
[extras]
keystone =
python-keystoneclient>=0.7.0
python-keystoneclient>=3.8.0 # Apache-2.0
[entry_points]
console_scripts =

View File

@ -17,10 +17,16 @@
# THIS FILE IS MANAGED BY THE GLOBAL REQUIREMENTS REPO - DO NOT EDIT
import setuptools, sys
if sys.version_info < (2, 7):
sys.exit('Sorry, Python < 2.7 is not supported for'
' python-swiftclient>=3.0')
import setuptools
# In python < 2.7.4, a lazy loading of package `pbr` will break
# setuptools if some other modules registered functions in `atexit`.
# solution from: http://bugs.python.org/issue15881#msg170215
try:
import multiprocessing # noqa
except ImportError:
pass
setuptools.setup(
setup_requires=['pbr'],
setup_requires=['pbr>=2.0.0'],
pbr=True)

View File

@ -1,9 +1,10 @@
hacking>=0.10.0,<0.11
hacking<0.11,>=0.10.0
coverage>=3.6
mock>=1.2
coverage!=4.4,>=4.0 # Apache-2.0
keystoneauth1>=3.4.0 # Apache-2.0
mock>=1.2.0 # BSD
oslosphinx>=4.7.0 # Apache-2.0
sphinx>=1.1.2,<1.2
sphinx!=1.6.6,!=1.6.7,>=1.6.2 # BSD
testrepository>=0.0.18
reno>=1.8.0,!=2.3.1 # Apache-2.0
openstackdocstheme>=1.16.0 # Apache-2.0
reno>=2.5.0 # Apache-2.0
openstackdocstheme>=1.18.1 # Apache-2.0

View File

@ -70,3 +70,10 @@ commands = bindep test
[testenv:releasenotes]
commands = sphinx-build -a -W -E -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
[testenv:lower-constraints]
basepython = python3
deps =
-c{toxinidir}/lower-constraints.txt
-r{toxinidir}/test-requirements.txt
.[keystone]