Block Storage API mv 3.66 enables snapshots of in-use volumes
without requiring a 'force' flag. For backward compatibility,
the API silently accepts force=true, even though the 'force' flag
is considered invalid for that call. That behavior is replicated
in the client, where --force with a true value is silently accepted.
The --force option is not advertised in the shell and an option
value that doesn't evaluate to true raises an UnsupportedAttribute
error. Similar behavior from the v3 Snapshot class, except it
raises a ValueError under similar circumstances.
Change-Id: I7408d0e3a5ed7f4cbcaf65cf3434ad60aaed511d
Cinder microversion v3.65 adds consumes_quota key to volume and
snapshots as a way to differentiate between use generated resources and
temporary ones.
This patch adds support for this microversion and presents the
consumes_quota field when the server sends it (which only happens when
we request this microversion).
Change-Id: I524490aa988fa4d654bfa8050d89cf99ce50bb4b
Depends-On: I655a47fc75ddc11caf1defe984d9a66a9ad5a2e7
Implements: blueprint temp-resources
We're seeing occasional failures in the functional test jobs due
to exceeding volumes quota, so increase these from the default
value of 10 to something more reasonable like 25.
Change-Id: Id1ab94849bfb35256dd0705b888708f3fa1106c4
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
Remove all cinderclient.v2 classes, mostly incorporating them into
their v3 counterparts and updating the tests and test fixtures.
Depends-on: https://review.opendev.org/c/openstack/horizon/+/800814
Change-Id: I335db5c1799edb2273bf8bfc9e1bc9de404a4ba5
Cinder and cinderclient assumes an attachment create request will
always contain instance_uuid. This is not true when glance calls
cinder for attachment in glance cinder configuration.
This patch (along with the cinder patch) make the instance_uuid
optional and allow glance to do attachments without passing
instance_uuid.
Change-Id: Ifbaca4aa87d890bc5130069638d42665b914b378
Also removes the v2 support from the generic client and restores a
skipped test.
Additionally, the cinderclient.tests.v2.test_availablity_zone module
depends on the v2.shell class, so move that module to v3, update the
v3 AvailablityZone class, and make appropriate adjustments to the
tests and test fixtures.
Change-Id: I7a3cca15f5944141d510a75af6684221c297963b
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
Devstack is planning to remove the Ubuntu
Bionic support.
- https://review.opendev.org/c/openstack/devstack/+/788754
Before that we need to switch Bionic job to focal.
devstack-tox-functional define the latest nodeset which is
single node focal currently so removing nodeset setting from
python-cinderclient functional jobs.
Change-Id: Ibbbfb20c86bb2ea0d3d74f6a6a1bc913874f67ad
Setuptools v54.1.0 introduces a warning that the use of dash-separated
options in 'setup.cfg' will not be supported in a future version [1].
Get ahead of the issue by replacing the dashes with underscores. Without
this, we see 'UserWarning' messages like the following on new enough
versions of setuptools:
UserWarning: Usage of dash-separated 'description-file' will not be
supported in future versions. Please use the underscore name
'description_file' instead
[1] https://github.com/pypa/setuptools/commit/a2e9ae4cb
Change-Id: I77d52471fea255982ad677e9d4bc318f24a9ace7
Add file to the reno documentation build to show release notes for
stable/wallaby.
Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/wallaby.
Sem-Ver: feature
Change-Id: I7a9c0cd51c45f05c75d3fa5be137aad7e62a016c
Updates requirements to what we're using now and revises the
lower-constraints file to contain only direct dependencies.
Change-Id: I1a3cc999b94dc6b6482b1ca44218b42ee2638a8c
In python 3, all strings are considered as unicode string.
This patch drops the explicit unicode literal (u'...')
or (u"..") appearances from the unicode strings.
Change-Id: I9902966892a1dc4f85d449dfe580fb128647487b
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>
This is already logged by http_log_resp in DEBUG along with the other
response headers so drop the duplicate logging in _log_request_id.
Change-Id: I3c5ad2b480d80611ecb10449068d836c4bbe7bdb
Bump MAX_VERSION to 3.64 to support including the encryption_key_id
attribute in volume and backup details.
Implements: blueprint include-encryption-key-id-in-details
Depends-On: I16f54e6722cdbcbad4af1eb0d30264b0039412fd
Change-Id: I6e1f3ff62d4b7b9b8299f7bd73071c3c7856f6df
Using the cinderclient to fetch server versions will fail with error
`OpenSSL.SSL.Error: [sslv3 alert handshake failure]` when the server
requires client certificates to be passed with these requests.
Added the optional parameter `cert` to both get_server_version
get_highest_client_server_version and methods so that users can have
the option to pass client certificates while fetching server versions.
Also support passing mTLS certificate/key to HTTPClient
Closes-Bug: #1915996
Change-Id: I57c665dd9d4b8c32e5f10994d891d1e0f5315548
Signed-off-by: sri harsha mekala <smekala@oath.com>