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.

monasca-ui specific changes:
- Unlike other projects, monasca-ui does not support python3 unit tests yet.
  python2.7 is used as basepython. This should be updated to python3 later.
- Bump the the minimum version of python-monascaclient to 1.8.0
  to pass test_client unit tests.
- nose-exclude needs to bumped to 0.5.0 to run all existing unit tests.

lower-constraints.txt is modified to match the latest horizon requirements
https://review.openstack.org/#/c/555491/:
- unit tests fails with Django 1.8. It passes with Django 1.11.
  Horizon Rocky bumped the Django min version to >=1.11, so it makes sense
  to bump the Django min version to 1.11.
- django-babel needs to bumped to 0.6.2 to support Django 1.11 and 2.0.

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

Co-Authored-By: Akihiro Motoki <amotoki@gmail.com>
Change-Id: Ifd967b598db259429cc83046ae88abaf3d50e081
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 15:51:38 -04:00 committed by Akihiro Motoki
parent 4bcc3b5b00
commit b526e21436
4 changed files with 179 additions and 1 deletions

11
.zuul.yaml Normal file
View File

@ -0,0 +1,11 @@
- project:
check:
jobs:
- openstack-tox-lower-constraints:
required-projects:
- openstack/horizon
gate:
jobs:
- openstack-tox-lower-constraints:
required-projects:
- openstack/horizon

159
lower-constraints.txt Normal file
View File

@ -0,0 +1,159 @@
alabaster==0.7.10
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
colorama==0.3.9
contextlib2==0.4.0
coverage==4.0
cryptography==2.1
debtcollector==1.2.0
decorator==3.4.0
deprecation==1.0
django-appconf==1.0.2
django-babel==0.6.2
django-compressor==2.0
django-nose==1.4.4
django-pyscss==2.0.2
Django==1.11
docutils==0.11
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
funcsigs==1.0.0
futurist==1.2.0
greenlet==0.4.10
hacking==0.12.0
horizon==13.0.0
idna==2.6
imagesize==0.7.1
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
nodeenv==0.9.4
nose-exclude==0.3.0
nose==1.3.7
nosehtmloutput==0.0.3
nosexcover==1.0.10
openstack.nose-plugin==0.7
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
oslosphinx==4.7.0
osprofiler==1.4.0
Paste==2.0.2
PasteDeploy==1.5.0
pbr==2.0.0
pep8==1.5.7
pika-pool==0.1.3
pika==0.10.0
Pint==0.5
positional==1.2.1
prettytable==0.7.2
pycparser==2.18
pyflakes==0.8.1
Pygments==2.2.0
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-glanceclient==2.8.0
python-keystoneclient==3.8.0
python-mimeparse==1.6.0
python-monascaclient==1.8.0
python-neutronclient==6.7.0
python-novaclient==9.1.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
snowballstemmer==1.2.1
Sphinx==1.6.2
sphinxcontrib-websupport==1.0.1
statsd==3.2.1
stevedore==1.20.0
tenacity==3.2.1
termcolor==1.1.0
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-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-Angular==1.5.8.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-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-jQuery==1.8.2.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
XStatic==1.0.0

View File

@ -2,6 +2,6 @@
# of appearance. Changing the order has an impact on the overall integration
# process, which may cause wedges in the gate later.
oslo.log>=3.36.0 # Apache-2.0
python-monascaclient>=1.7.0 # Apache-2.0
python-monascaclient>=1.8.0 # Apache-2.0
Django<2.0,>=1.11 # BSD
horizon>=13.0.0 # Apache-2.0

View File

@ -49,3 +49,11 @@ exclude = .venv,.git,.tox,dist,*lib/python*,*egg,build,panel_template,dash_templ
# H405 multi line docstring summary not separated with an empty line
# H904 Wrap long lines in parentheses instead of a backslash
ignore = E127,E128,E501,H102,H238,H301,H306,H405,H904
[testenv:lower-constraints]
# TODO(someone) switch basepython to python3 as what most projects do
basepython = python2.7
deps =
-c{toxinidir}/lower-constraints.txt
-r{toxinidir}/test-requirements.txt
-r{toxinidir}/requirements.txt