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.

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

---
sahara-dashboard specific changes:
- sahara-dashboard uses django.urls module which is only available in
  Django 1.11 or later, so the Django min version needs to be bumped to 1.11.
  Horizon Rocky bumped the Django min version
  to >=1.11
- django-babel needs to bumped to 0.6.2 to support Django 1.11 and 2.0.
- nose-exclude needs to bumped to 0.5.0 to run all existing unit tests.

https://review.openstack.org/555402 allows us to bump lower requirements.

Co-Authored-By: Akihiro Motoki <amotoki@gmail.com>
Change-Id: I6cc5d973ea0e586e6fbe2ab4ba1345857722d008
Depends-On: https://review.openstack.org/555034
Depends-On: https://review.openstack.org/555402
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
Signed-off-by: Akihiro Motoki <amotoki@gmail.com>
This commit is contained in:
Doug Hellmann 2018-03-22 18:14:16 -04:00 committed by Akihiro Motoki
parent 0ed40a495e
commit b81d74661c
5 changed files with 165 additions and 2 deletions

View File

@ -4,6 +4,10 @@
- sahara-dashboard-tox-py35dj20:
voting: false
- openstack-tox-lower-constraints
gate:
jobs:
- openstack-tox-lower-constraints
- job:
name: sahara-dashboard-tox-base
parent: openstack-tox

152
lower-constraints.txt Normal file
View File

@ -0,0 +1,152 @@
amqp==2.1.1
appdirs==1.3.0
asn1crypto==0.23.0
Babel==2.3.4
cachetools==2.0.0
cffi==1.7.0
cliff==2.8.0
cmd2==0.8.0
contextlib2==0.4.0
coverage==4.0
cryptography==2.1
ddt==1.0.1
debtcollector==1.2.0
decorator==3.4.0
deprecation==1.0
Django==1.11
django-appconf==1.0.2
django-babel==0.6.2
django-compressor==2.0
django-nose==1.4.4
django-pyscss==2.0.2
dogpile.cache==0.6.2
eventlet==0.18.2
extras==1.0.0
fasteners==0.7.0
fixtures==3.0.0
flake8==2.5.5
futurist==1.2.0
greenlet==0.4.10
hacking==0.12.0
horizon==13.0.0
idna==2.6
iso8601==0.1.11
Jinja2==2.10
jmespath==0.9.0
jsonpatch==1.16
jsonpointer==1.13
jsonschema==2.6.0
keystoneauth1==3.4.0
kombu==4.0.0
linecache2==1.0.0
MarkupSafe==1.0
mccabe==0.2.1
mock==2.0.0
monotonic==0.6
mox3==0.20.0
msgpack-python==0.4.0
munch==2.1.0
netaddr==0.7.18
netifaces==0.10.4
nose==1.3.7
nose-exclude==0.5.0
openstacksdk==0.11.2
os-client-config==1.28.0
os-service-types==1.2.0
osc-lib==1.8.0
oslo.concurrency==3.25.0
oslo.config==5.2.0
oslo.context==2.19.2
oslo.i18n==3.15.3
oslo.log==3.36.0
oslo.messaging==5.29.0
oslo.middleware==3.31.0
oslo.policy==1.30.0
oslo.serialization==2.18.0
oslo.service==1.24.0
oslo.utils==3.33.0
osprofiler==1.4.0
Paste==2.0.2
PasteDeploy==1.5.0
pbr==2.0.0
pep8==1.5.7
pika==0.10.0
pika-pool==0.1.3
Pint==0.5
positional==1.2.1
prettytable==0.7.2
pycparser==2.18
pyflakes==0.8.1
pyinotify==0.9.6
pymongo==3.0.2
pyOpenSSL==17.1.0
pyparsing==2.1.0
pyperclip==1.5.27
pyScss==1.3.4
python-cinderclient==3.3.0
python-dateutil==2.5.3
python-designateclient==2.7.0
python-glanceclient==2.8.0
python-keystoneclient==3.8.0
python-manilaclient==1.16.0
python-mimeparse==1.6.0
python-neutronclient==6.7.0
python-novaclient==9.1.0
python-openstackclient==3.12.0
python-saharaclient==1.4.0
python-subunit==1.0.0
python-swiftclient==3.2.0
pytz==2013.6
PyYAML==3.12
rcssmin==1.0.6
repoze.lru==0.7
requests==2.14.2
requestsexceptions==1.2.0
rfc3986==0.3.1
rjsmin==1.0.12
Routes==2.3.1
selenium==2.50.1
semantic-version==2.3.1
simplejson==3.5.1
six==1.10.0
statsd==3.2.1
stevedore==1.20.0
tenacity==3.2.1
testrepository==0.0.18
testscenarios==0.4
testtools==2.2.0
traceback2==1.4.0
unittest2==1.1.0
vine==1.1.4
warlock==1.2.0
WebOb==1.7.1
wrapt==1.7.0
XStatic==1.0.0
XStatic-Angular==1.5.8.0
XStatic-Angular-Bootstrap==2.2.0.0
XStatic-Angular-FileUpload==12.0.4.0
XStatic-Angular-Gettext==2.3.8.0
XStatic-Angular-lrdragndrop==1.0.2.2
XStatic-Angular-Schema-Form==0.8.13.0
XStatic-Bootstrap-Datepicker==1.3.1.0
XStatic-Bootstrap-SCSS==3.3.7.1
XStatic-bootswatch==3.3.7.0
XStatic-D3==3.5.17.0
XStatic-Font-Awesome==4.7.0.0
XStatic-Hogan==2.0.0.2
XStatic-Jasmine==2.4.1.1
XStatic-jQuery==1.8.2.1
XStatic-JQuery-Migrate==1.2.1.1
XStatic-jquery-ui==1.10.4.1
XStatic-JQuery.quicksearch==2.0.3.1
XStatic-JQuery.TableSorter==2.14.5.1
XStatic-JSEncrypt==2.3.1.1
XStatic-mdi==1.4.57.0
XStatic-objectpath==1.2.1.0
XStatic-Rickshaw==1.5.0.0
XStatic-roboto-fontface==0.5.0.0
XStatic-smart-table==1.4.13.2
XStatic-Spin==1.2.5.2
XStatic-term.js==0.0.7.0
XStatic-tv4==1.2.7.0
xvfbwrapper==0.1.3

View File

@ -4,7 +4,7 @@
pbr!=2.1.0,>=2.0.0 # Apache-2.0
# Horizon Core Requirements
Django<2.0,>=1.8 # BSD
Django<2.0,>=1.11 # BSD
django-compressor>=2.0 # MIT
oslo.log>=3.36.0 # Apache-2.0
oslo.serialization!=2.19.1,>=2.18.0 # Apache-2.0

View File

@ -9,7 +9,7 @@ django-nose>=1.4.4 # BSD
mock>=2.0.0 # BSD
mox3>=0.20.0 # Apache-2.0
netifaces>=0.10.4 # MIT
nose-exclude>=0.3.0 # LGPL
nose-exclude>=0.5.0 # LGPL
python-subunit>=1.0.0 # Apache-2.0/BSD
selenium>=2.50.1 # Apache-2.0
testrepository>=0.0.18 # Apache-2.0/BSD

View File

@ -62,3 +62,10 @@ exclude=.venv,.git,.tox,dist,doc,*lib/python*,*egg,build,.ropeproject,tools,.tmp
# separately, outside of the requirements files.
deps = bindep
commands = bindep test
[testenv:lower-constraints]
basepython = python3
deps =
-c{toxinidir}/lower-constraints.txt
-r{toxinidir}/test-requirements.txt
-r{toxinidir}/requirements.txt