From b526e214361a134a96782f3ce455cff6f884c7e3 Mon Sep 17 00:00:00 2001 From: Doug Hellmann Date: Thu, 22 Mar 2018 15:51:38 -0400 Subject: [PATCH] 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 Change-Id: Ifd967b598db259429cc83046ae88abaf3d50e081 Depends-On: https://review.openstack.org/555034 Depends-On: https://review.openstack.org/555402 Signed-off-by: Doug Hellmann Signed-off-by: Akihiro Motoki --- .zuul.yaml | 11 +++ lower-constraints.txt | 159 ++++++++++++++++++++++++++++++++++++++++++ requirements.txt | 2 +- tox.ini | 8 +++ 4 files changed, 179 insertions(+), 1 deletion(-) create mode 100644 .zuul.yaml create mode 100644 lower-constraints.txt diff --git a/.zuul.yaml b/.zuul.yaml new file mode 100644 index 00000000..737eaf35 --- /dev/null +++ b/.zuul.yaml @@ -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 diff --git a/lower-constraints.txt b/lower-constraints.txt new file mode 100644 index 00000000..18d71590 --- /dev/null +++ b/lower-constraints.txt @@ -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 diff --git a/requirements.txt b/requirements.txt index f0a02774..fbe92c04 100644 --- a/requirements.txt +++ b/requirements.txt @@ -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 diff --git a/tox.ini b/tox.ini index ef0100ba..487b05e0 100644 --- a/tox.ini +++ b/tox.ini @@ -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