From 37411e792a8ee36eb04832785044b048719e9fcf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herv=C3=A9=20Beraud?= Date: Thu, 7 Jan 2021 14:05:30 +0100 Subject: [PATCH] Add doc/requirements We need to specify doc requirements in doc/requirements.txt to avoid problems with the pip resolver [1] for the release team [2][3]. Removing specific doc requirements from test-requirements.txt. The problem here is that this repos haven't doc/requirements.txt file and by default in this case zuul will use the test-requirements.txt file to pull requirements [4]. This requirements file contains extra requirements like flake8 that collided with those allowed in our job environment and so the new pip resolver fails to install these requirements and the job exits in error. This project meet the conditions leading to the bug. /!\/!\/!\ Notice that I voluntarily added the doc directory even if no docs are generated here because zuul will try to pull this requirements from there first and the contained requirements are needed for reno but AFAIK the releasenotes dir is ignored by zuul. c.f [4] for further details. /!\/!\/!\ Bump a series of lower-constraints and requirements to work with new pip resolver, testing with steps outlined at [5] Fix Flake8 E741 [6] [1] http://lists.openstack.org/pipermail/release-job-failures/2021-January/001500.html [2] http://lists.openstack.org/pipermail/openstack-discuss/2021-January/019611.html [3] http://lists.openstack.org/pipermail/openstack-discuss/2021-January/019612.html [4] https://opendev.org/zuul/zuul-jobs/src/branch/master/roles/ensure-sphinx/tasks/main.yaml#L36 [5] http://lists.openstack.org/pipermail/openstack-discuss/2020-December/019285.html [6] https://www.flake8rules.com/rules/E741.html Change-Id: Ic1504a18a780b0f517c5aa3dd3bfb04998d42e74 --- doc/requirements.txt | 3 +++ lower-constraints.txt | 4 ++-- .../influxdb/db-per-tenant/migrate-to-db-per-tenant.py | 4 ++-- test-requirements.txt | 8 -------- tox.ini | 2 ++ 5 files changed, 9 insertions(+), 12 deletions(-) create mode 100644 doc/requirements.txt diff --git a/doc/requirements.txt b/doc/requirements.txt new file mode 100644 index 00000000..f41f72e3 --- /dev/null +++ b/doc/requirements.txt @@ -0,0 +1,3 @@ +sphinx>=2.0.0,!=2.1.0 # BSD +reno>=3.1.0 # Apache-2.0 +openstackdocstheme>=2.2.1 # Apache-2.0 diff --git a/lower-constraints.txt b/lower-constraints.txt index 3c75890d..d5dc31c8 100644 --- a/lower-constraints.txt +++ b/lower-constraints.txt @@ -1,4 +1,4 @@ -appdirs==1.3.0 +appdirs==1.4.0 Babel==2.3.4 bandit==1.4.0 cassandra-driver==3.21.0 @@ -18,7 +18,7 @@ iso8601==0.1.11 kazoo==2.8.0 keystoneauth1==3.4.0 linecache2==1.0.0 -mccabe==0.4.0 +mccabe==0.6.0 monasca-common==2.16.0 monotonic==0.6 mox3==0.20.0 diff --git a/monasca_persister/tools/influxdb/db-per-tenant/migrate-to-db-per-tenant.py b/monasca_persister/tools/influxdb/db-per-tenant/migrate-to-db-per-tenant.py index 0167efd1..81eeadc8 100755 --- a/monasca_persister/tools/influxdb/db-per-tenant/migrate-to-db-per-tenant.py +++ b/monasca_persister/tools/influxdb/db-per-tenant/migrate-to-db-per-tenant.py @@ -101,7 +101,7 @@ class MigrationHelper(object): measurements = [] if fname: with open(fname, 'a+') as f: - measurements = [l.strip() for l in f.readlines()] + measurements = [line.strip() for line in f.readlines()] if not measurements: result = self.client.query('SHOW MEASUREMENTS').get_points('measurements') measurements = [m.get('name') for m in result] @@ -118,7 +118,7 @@ class MigrationHelper(object): def get_complete(self, fname): if fname: with open(fname, 'a+') as fd: - return {l.strip() for l in fd.readlines()} + return {line.strip() for line in fd.readlines()} else: return {} diff --git a/test-requirements.txt b/test-requirements.txt index 9b058298..603e99fd 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -2,20 +2,12 @@ # of appearance. Changing the order has an impact on the overall integration # process, which may cause wedges in the gate later. bandit>=1.1.0 # Apache-2.0 -flake8<2.6.0,>=2.5.4 # MIT hacking>=3.0.1,<3.1.0 # Apache-2.0 # remove this pyflakes from here once you bump the # hacking to 3.2.0 or above. hacking 3.2.0 takes # care of pyflakes version compatibilty. -pyflakes>=2.1.1 coverage!=4.4,>=4.0 # Apache-2.0 oslotest>=3.2.0 # Apache-2.0 stestr>=1.0.0 # Apache-2.0 -docutils>=0.11 # OSI-Approved Open Source, Public Domain pycodestyle>=2.5.0 # MIT cassandra-driver>=3.21.0 - -# release notes -sphinx>=2.0.0,!=2.1.0 # BSD -reno>=3.1.0 # Apache-2.0 -openstackdocstheme>=2.2.1 # Apache-2.0 diff --git a/tox.ini b/tox.ini index eb5acdd3..47a8754e 100644 --- a/tox.ini +++ b/tox.ini @@ -111,6 +111,8 @@ deps = -r{toxinidir}/requirements.txt [testenv:releasenotes] +deps = -c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master} + -r{toxinidir}/doc/requirements.txt basepython = python3 description = Called from CI script to test and publish the Release Notes commands =