From 82ef60cce60a0ee3ff2ba16d6914f6c87444d190 Mon Sep 17 00:00:00 2001 From: OpenStack Release Bot Date: Fri, 25 Feb 2022 12:43:39 +0000 Subject: [PATCH 1/6] Update .gitreview for stable/yoga Change-Id: Ie0ec451d834da52de0af012df7e86756c328ae91 --- .gitreview | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitreview b/.gitreview index 9b9acbf33..8e1faba7e 100644 --- a/.gitreview +++ b/.gitreview @@ -2,3 +2,4 @@ host=review.opendev.org port=29418 project=openstack/python-cinderclient.git +defaultbranch=stable/yoga From becf6514623afdecb5cb8b490ad43db8dbdcbdf9 Mon Sep 17 00:00:00 2001 From: OpenStack Release Bot Date: Fri, 25 Feb 2022 12:43:40 +0000 Subject: [PATCH 2/6] Update TOX_CONSTRAINTS_FILE for stable/yoga Update the URL to the upper-constraints file to point to the redirect rule on releases.openstack.org so that anyone working on this branch will switch to the correct upper-constraints list automatically when the requirements repository branches. Until the requirements repository has as stable/yoga branch, tests will continue to use the upper-constraints list on master. Change-Id: Idbeb906956df8583a34ba469b2cbd19076dd8d90 --- tox.ini | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tox.ini b/tox.ini index 63af14450..2112a7664 100644 --- a/tox.ini +++ b/tox.ini @@ -19,7 +19,7 @@ setenv = passenv = *_proxy *_PROXY deps = - -c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master} + -c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/yoga} -r{toxinidir}/requirements.txt -r{toxinidir}/test-requirements.txt commands = find . -type f -name "*.pyc" -delete @@ -34,7 +34,7 @@ commands = [testenv:pylint] deps = - -c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master} + -c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/yoga} -r{toxinidir}/requirements.txt pylint==2.6.0 commands = bash tools/lintstack.sh @@ -55,7 +55,7 @@ commands = [testenv:docs] deps = - -c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master} + -c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/yoga} -r{toxinidir}/doc/requirements.txt commands = sphinx-build -W -b html doc/source doc/build/html @@ -72,7 +72,7 @@ allowlist_externals = [testenv:releasenotes] deps = - -c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master} + -c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/yoga} -r{toxinidir}/doc/requirements.txt commands = sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html From e3799da5558a6a686885fa70c155d8d37d44497d Mon Sep 17 00:00:00 2001 From: Brian Rosmaita Date: Wed, 4 Jan 2023 18:33:22 -0500 Subject: [PATCH 3/6] [stable-only] Pin tox <4 Continue to use tox 3 in the stable branches. Two changes: - .zuul.yaml: set the ensure_tox_version to use <4, which will tell zuul to install tox<4 if it's not present - tox.ini: set requires=tox<4 so that if tox has been installed already, our tox-based jobs will use tox 3 to run the tests Change-Id: Ica4c0a1d4f861e528ce8995766e82541dc710e0f (cherry picked from commit 22a3169576b3fd91388e7b57ffd39e3760016796) --- .zuul.yaml | 2 ++ tox.ini | 1 + 2 files changed, 3 insertions(+) diff --git a/.zuul.yaml b/.zuul.yaml index c9e5b5087..0d2ee34d9 100644 --- a/.zuul.yaml +++ b/.zuul.yaml @@ -38,6 +38,8 @@ tox_envlist: functional-py39 - project: + vars: + ensure_tox_version: '<4' templates: - check-requirements - lib-forward-testing-python3 diff --git a/tox.ini b/tox.ini index 2112a7664..6f60612c9 100644 --- a/tox.ini +++ b/tox.ini @@ -2,6 +2,7 @@ distribute = False envlist = py3,pep8 minversion = 3.18.0 +requires = tox<4 skipsdist = True # this allows tox to infer the base python from the environment name # and override any basepython configured in this file From 58499905d983f9f10d8bf6fc320e4d3560f8f228 Mon Sep 17 00:00:00 2001 From: whoami-rajat Date: Mon, 20 Feb 2023 17:14:55 +0000 Subject: [PATCH 4/6] [stable-only] Skip backup test in functional py39 job python-cinderclient-functional-py39 job has been failing since 23 November, 2022[1]. The failure has been described in detail in the mailing thread replies[2][3]. In summary, a new iSCSI target path was added in the kernel, /sys/kernel/config/target/iscsi/*cpus_allowed_list*, which is causing rtslib-fb 2.7.4 to fail. This issue was fixed in rtslib-fb 2.7.5 but the upper-constraints in stable/yoga branch is 2.7.4[4]. This isn't a problem in stable/zed since the version used for rtslib-fb is 2.7.5[5]. I have proposed a requirements patch to bump the rtslib-fb version to 2.7.5[6] and tested it against cinderclient[7] where the python-cinderclient-functional-py39 job is passing. I've tried reaching out to the requirements team on IRC and on ML to make this change but there hasn't been any response. The best way to move forward and unblock our gate is to skip the failing test test_backup_create_and_delete and unblock changes in the stable/yoga branch. [1] https://zuul.openstack.org/builds?job_name=python-cinderclient-functional-py39&branch=stable%2Fyoga&skip=0 [2] https://lists.openstack.org/pipermail/openstack-discuss/2023-January/031947.html [3] https://lists.openstack.org/pipermail/openstack-discuss/2023-January/031958.html [4] https://opendev.org/openstack/requirements/src/branch/stable/yoga/upper-constraints.txt#L13 [5] https://opendev.org/openstack/requirements/src/branch/stable/zed/upper-constraints.txt#L13 [6] https://review.opendev.org/c/openstack/requirements/+/870714 [7] https://review.opendev.org/c/openstack/python-cinderclient/+/870513 Closes-Bug: #2008010 Change-Id: I54b1d797d9662ba180e146ee91ea7b5ed6d0a0a1 --- cinderclient/tests/functional/test_cli.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/cinderclient/tests/functional/test_cli.py b/cinderclient/tests/functional/test_cli.py index 5f4a64a79..2d54d312c 100644 --- a/cinderclient/tests/functional/test_cli.py +++ b/cinderclient/tests/functional/test_cli.py @@ -11,6 +11,9 @@ # under the License. +import sys +import unittest + from cinderclient.tests.functional import base @@ -93,6 +96,8 @@ class CinderBackupTests(base.ClientTestBase): BACKUP_PROPERTY = ('id', 'name', 'volume_id') + @unittest.skipIf((sys.version_info[0] == 3 and sys.version_info[1] == 9), + "This test is failing because of bug#2008010") def test_backup_create_and_delete(self): """Create a volume backup and then delete.""" volume = self.object_create('volume', params='1') From 1645c39c3d318a54016e89c2119f0409bdc55673 Mon Sep 17 00:00:00 2001 From: OpenStack Release Bot Date: Mon, 5 Feb 2024 16:43:34 +0000 Subject: [PATCH 5/6] Update .gitreview for unmaintained/yoga Change-Id: Ib109bd9a6900ff0ba169b3b93876233019edaa4f --- .gitreview | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitreview b/.gitreview index 8e1faba7e..8be9bfd06 100644 --- a/.gitreview +++ b/.gitreview @@ -2,4 +2,4 @@ host=review.opendev.org port=29418 project=openstack/python-cinderclient.git -defaultbranch=stable/yoga +defaultbranch=unmaintained/yoga From 6a2f9c3b131141aa0a5446a681a40ce41d220ce2 Mon Sep 17 00:00:00 2001 From: Elod Illes Date: Fri, 25 Jul 2025 11:59:33 +0200 Subject: [PATCH 6/6] [CI][stable-only] Replace centos-8 nodeset and fix gate This patch fixes 3 problems to unblock the gate: 1. Replace centos-8 nodeset with ubuntu-bionic devstack-single-node-centos-8-stream nodeset was dropper recently from zuul config, so now Zuul shows config error for jobs that were using this nodeset. centos 8 was used to be able to install py36 for testing the minimum python version that can be used in Yoga and older branches. This patch replaces to ubuntu-bionic as that is still available and that has py36 by default. Note, that this unfortunately failing because bionic is not supported in this version in devstack and needs a FORCE=yes entry in local.conf. So this job needs to be set as non-voting temporarily and set back to voting as soon as the job is fixed. 2. Cap setuptools <71.0.0 Furthermore, this change caps setuptools to be <71.0.0 as py39 docs job (on ubuntu-focal) started to fail due to recent virtualenv release (20.26.4) on Yoga (which bundles setuptools), because we have 'packaging==21.3' in this branch that is not compatible with newer setuptools [1]. setuptools is bundled in virtualenv, so it has to be capped via the virtualenv package. tox also needed to be capped (<4) as gate uses tox 3.28.0, but with capping virtualenv we pull in latest tox as well, which would cause other errors. 3. Set py39 based functional job as non-voting This is needed as py39 job on CentOS Stream 9 fails as there is no pip installed. Similarly like with the py36 functional job, this needs to be set back to voting as soon as the job is fixed. [1] https://github.com/pypa/setuptools/issues/4483 Change-Id: I007be9e8b99060abe1756396603871fdc50a50fe Signed-off-by: Elod Illes --- .zuul.yaml | 18 +++++++++++------- tox.ini | 7 ++++++- 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/.zuul.yaml b/.zuul.yaml index 0d2ee34d9..26e9e4bb5 100644 --- a/.zuul.yaml +++ b/.zuul.yaml @@ -24,7 +24,7 @@ name: python-cinderclient-functional-py36 parent: python-cinderclient-functional-base # need to specify a platform that has python 3.6 available - nodeset: devstack-single-node-centos-8-stream + nodeset: ubuntu-bionic vars: python_version: 3.6 tox_envlist: functional-py36 @@ -49,11 +49,15 @@ - release-notes-jobs-python3 check: jobs: - - python-cinderclient-functional-py36 - - python-cinderclient-functional-py39 + - python-cinderclient-functional-py36: + voting: false + - python-cinderclient-functional-py39: + voting: false - openstack-tox-pylint: voting: false - gate: - jobs: - - python-cinderclient-functional-py36 - - python-cinderclient-functional-py39 + # NOTE(elod.illes): these two functional jobs should be set back to + # voting and added back to gate queue as soon as they are fixed. + # gate: + # jobs: + # - python-cinderclient-functional-py36 + # - python-cinderclient-functional-py39 diff --git a/tox.ini b/tox.ini index 6f60612c9..feae70b6f 100644 --- a/tox.ini +++ b/tox.ini @@ -2,11 +2,15 @@ distribute = False envlist = py3,pep8 minversion = 3.18.0 -requires = tox<4 skipsdist = True # this allows tox to infer the base python from the environment name # and override any basepython configured in this file ignore_basepython_conflict=true +# Cap setuptools via virtualenv to prevent compatibility issue with yoga +# branch's upper constraint of 'packaging' package (21.3). +requires = + virtualenv<20.26.4 + tox<4 [testenv] basepython = python3 @@ -93,6 +97,7 @@ setenv = # tempest.lib.base.BaseTestCase that our ClientTestBase class # inherits from. OS_TEST_TIMEOUT=0 + export FORCE=yes # The OS_CACERT environment variable should be passed to the test # environments to specify a CA bundle file to use in verifying a