The old version of pylint we were using couldn't be installed because
of conflicting requirements versions, so update it to the most recent
pylint, 4.0.5, which supports python 3.14, since we will be supporting
it too.
Also update our lintstack scripts to use the modern name for do_exit,
namely, 'exit'.
Change-Id: I8d8bf8064aaea4e5de25634f0d86fb5e619b8503
Signed-off-by: Brian Rosmaita <rosmaita.fossdev@gmail.com>
Given the 2025.2 (Flamingo) python runtimes [0], drop the
functional-py39 and functional-py311 jobs and add functional-py310
and functional-py312 jobs. Also adjust tox.ini to drop the
functional-py39 definition and add functional-py313.
[0] https://governance.openstack.org/tc/reference/runtimes/2025.2.html
Change-Id: Icd1a079cfab9367e52ac679fc86c3d055f4e9ee4
Python 3.8 was removed from the tested runtimes for 2024.2[1] and has
not been tested since then.
Also add Python 3.12 which is part of the tested runtimes for 2025.1.
Now unit tests job with Python 3.12 is voting.
[1] https://governance.openstack.org/tc/reference/runtimes/2024.2.html
Change-Id: I848996fa6d35d0dddb3f9001977637ec4a752eda
Updates:
- added functional py312 testenv to tox.ini (not needed for unit
tests)
- removed py38 classifier from setup.cfg, but did not change
python_requires (currently it's >=3.8)
- run py311 func job in gate (was py310)
Change-Id: I661e397e597582404dcb33044844b7af7c64de5f
We're hitting https://github.com/tox-dev/pyproject-api/issues/101 on
the functional jobs in the gate, which are using the system tox. So
tell tox to upgrade itself to the version that gets around that issue.
Change-Id: Ifabdce8876d287c52cdec9777393fcb7c82c8fc1
Changes:
- eliminate whitespace in passenv values
- removed skipsdist=True, which in tox 4 appears to prevent os-brick
from being installed in the testenvs
- made 4.4.1 the tox minversion to catch relevant bugfixes; since
tox is not constrained, we'll actually be using the most recent
version of tox 4
- had to adjust the functional testenv's setenv, which wasn't
overriding OS_TEST_PATH like it did with tox 3
- used generative section names to define the various functional
py3 testenvs we want to support locally (namely, py38, py39,
py310, and py311)
This patch makes tox 4 the default so that we can hopefully catch
problems locally before they block the gate.
Change-Id: I01c4d44efa64650cdb46fac34a770a7aa5881baf
Use the classic cinderclient tox.ini that has worked so well in the
past with tox 3; only change is to add the tox<4 requires statement.
Also adjust .zuul.yaml to express our preference for tox<4 in the
case that zuul has to install tox.
Change-Id: Ib1f55f9431033ad043507c6f751ee9bfe57d5cbb
In Zed cycle, we have dropped the python 3.6/3.7[1] testing
and its support. Moving the py36 job to py38 based but to run on
ubuntu focal as c8s does not seems to have py38.
Also updating the python classifier also to reflect the same.
[1] https://governance.openstack.org/tc/reference/runtimes/zed.html
Change-Id: Ic26a360d2bb09fa6622d1acaa5021c5afbc70240
We don't need to track this in test-reqs for
unit tests, etc. since it's only used for
functional tests.
Change-Id: I2e9a55d0f4530e9f3fd0f6c1c48cf5ee19c841da
Cinder ignores both W503 and W504, and it's really annoying that
cinderclient is not consistent with cinder about this.
Change-Id: Iab7ff2bfcb61fd5d8a7ee25e245cebe7a50c46b1
The test_cli.CinderBackupTests.test_backup_create_and_delete test
is hitting timeout errors in the python-cinderclient-functional-py36
zuul job. This is happening because it's inheriting the
OS_TEST_TIMEOUT value of 60 from the base testenv, and that value is
being used by the tempest.lib class we inherit from as a timeout for
each test. This is a problem for test_backup_create_and_delete
because it creates a volume, waits for available, creates a backup,
waits for available, deletes the volume, waits for deletion, deletes
the backup, waits for deletion.
Our functional tests have their own timeout handling, so turn off
the tempest.lib timeout and use ours. An alternative to turning it
off is to set it at a value that respects our timeout for our longest
test, which would be:
- time-to-available: 120 sec (x2)
- time-to-deleted: 60 sec (x2)
that is, 360 sec.
Change-Id: I33399b4c094af2cc059da6e332f4c0a91e6ab57e
We facing errors related to the new pip resolver, this
topic was discussed on the ML and QA team proposed to
to test lower-constraints [1].
I propose to drop this test because the complexity and recurring pain needed
to maintain that now exceeds the benefits provided by this mechanismes.
[1] http://lists.openstack.org/pipermail/openstack-discuss/2020-December/019390.html
Change-Id: I324cd145da8469f505ae2c135ee5035ee7008ca1
This prevents a job reporting 'success' when the appropriate python
interpreter cannot be found, when actually it didn't run at all.
Also change the default envlist to use generic 'py3' instead of a
specific version which might not be present.
Also change zuul config so the python-cinderclient-functional-py36
job runs on centos-8-stream nodes, where py36 should be available.
And change bindep.txt to specify the correct package name for
centos-8.
Jeremy Stanley has given a more thorough explanation of why this
is a good change:
http://lists.openstack.org/pipermail/openstack-discuss/2020-May/014810.html
This isn't a theoretical issue. If you look at recent
python-cinderclient-functional-py36 job results (for example,
[0]), you'll see that Zuul reported 'success', but on a closer look,
you'll see that no tests were run.
[0] https://zuul.opendev.org/t/openstack/build/1bfc80638086405f8b29905cdd6f71be/log/job-output.txt#25470
Change-Id: I2e2aa24e1592b66b287c84eda97b5079c40a36ec
This adds the import order extension to match what we have in the cinder
repo. This is a linting extension that will check that imports are in
the correct order and the correct grouping so they automatically get
flagged, and it won't be whether reviewers notice and decide to do
anything or not.
Cinder change was Ic13ba238a4a45c6219f4de131cfe0366219d722f for a little
more wordy reasoning.
Also includes updates for noqa tags. Newer version of the linters appear
to want these on the function definition line, not on the decorator
line.
Change-Id: Ibf3f3afbf3bb6ec6613b35f91d4a353c6a391f41
Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
The current version does not work anymore with the current
testing stack.
Due to the bump, the wrapper needed a few changes
(maybe it could be dropped at some point?
Version 2.3.0 (used by cinder right now) was considered too,
but it requires a specific version of isort:
https://github.com/PyCQA/isort/issues/1273
Change-Id: I07fa32e7f49bde041d101a2d09860d0bc27acda0
The docs requirements migrated to doc/requirements.txt
we need not install things from requirements.txt.
Change-Id: I94c2ba1ddfc3a54edc2f69b8d7017e09b02e54a5
The openstack-python3-victoria-jobs template is running unit tests
for py36 and py38. We should do the same for our functional test
jobs. So replace the functional-py37 job with a functional-py38
job.
Change-Id: Icb338611169975be04bb27b86b5b3de0a37a6f5f
This adds doc8 to the pep8 job to lint the docs. Also fixes a few issues
it highlighted.
Change-Id: Id0f4b9bee1f6a0103ec581b20037a9b74201aaca
Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
Python 3.8 is now our highest level supported python runtime.
This updates the default tox target environments to swap out
py37 for py38 to make sure local development testing is
covering this version.
This does not impact zuul jobs in any way, nor prevent local
tests against py37. It just changes the default if none is
explicitly provided.
Change-Id: Ie26a8d5a79c3ba8348419f031af0cef0f0e5c6c7
Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
Also adds support for py3.6 and py3.7 check and gate jobs.
Co-authored-by: xuanyandong <xuanyandong@inspur.com>
Co-authored-by: Brian Rosmaita <rosmaita.fossdev@gmail.com>
Closes-bug: #1853372
Change-Id: Ia978b692ade23ee6482957f41b17cb879c96fea7
We've kept hacking capped for a long time now. This raises the hacking
package version to the latest release and fixes the issues that it
found.
Change-Id: I69e41a340c815090f25677607e971a8e75791f6d
Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
This patch updates tox.ini to build the pdf version of
cinderclient documentation.
run tox -epdf-docs
Change-Id: If1f43e593db6ff6740b8a88b517c4505e39a3edd
Quotes around {posargs} cause the entire string to be combined into one
arg that gets passed to stestr. This prevents passing multiple args
(e.g. '--concurrency=16 some-regex')
Change-Id: Ieeae90ecbd4f89cbff0513dcd949a0c1a8e8d8c1
The pylint job was switched over to run under python 3, but
the job is not voting and it was apparently missed that the
conversion was causing it to fail.
This updates the version of pylint to one that is actually
supported by python 3 and makes tweaks to our script to
for the minor changes between versions.
Single character change to get rid of the more strict py3
regex string escape character format.
Change-Id: I93124b62c5ee177815457b32f55f5453fc3d387e
Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
os-testr has moved over to use stestr instead of testr. This change
updates the tox.ini file to call stestr directly instead of going
through ostestr and remove testrepository from test-requirements.txt.
Change-Id: I31fa5fefd610ec783471e15992675bd39ff0ebc4
We want to default to running all tox environments under python 3, so
set the basepython value in each environment.
We do not want to specify a minor version number, because we do not
want to have to update the file every time we upgrade python.
We do not want to set the override once in testenv, because that
breaks the more specific versions used in default environments like
py35 and py36.
Change-Id: I04b87b308a82113a57ea41bde0329e92b07b642e
switch to use OS_VOLUME_API_VERSION = 3 to run
functional tests.
Closes-bug: #1775354
Co-Authored-By: liuyamin <liuyamin@fiberhome.com>
Change-Id: If6c4291aa7d8e85a4f8c1d5665a0e4a72aa1f1d1
We do not need tox_install.sh, pip can handle constraints itself
and install the project correctly. Thus update tox.ini and remove
the now obsolete tools/tox_install.sh file.
This follows https://review.openstack.org/#/c/508061 to remove
tools/tox_install.sh.
Change-Id: I1facc619154613670444247ade567882ec84ed85
os-testr has moved over to use stestr instead of testr. While this
is usually compaible with existing settings, there is a warning
that is emitted when .stestr.conf is not present. It is usually
able to fall back to parsing the .testr.conf file, but to be more
correct and to prevent future problems we should update the config.
Change-Id: If553a64f5dded2d47025c947a91f13091f3f5d14
F811 is a little noisy with api_versions.wraps()
decorated methods, but opting to disable it in these
cases seems better than missing problems in the rest
of the code.
Change-Id: I9c46938ab2a442e55f96b5ab6c119c4475afaecd