This feature allows users to more conveniently query volume details by
filtering the volume list by certain image metadata.
For example, users can query a specific bootable volume quickly
filtering by image_name or other glance metadata.
APIImpact
1. User can use glance metadata to filter volume detail in cinder api.
The query url is like this:
"volumes/detail?glance_metadata={"image_name":"xxx"}"
2. Since microversion is implemented in M, this change will add a new
version "3.4".
DocImpact
1.Operator would need to add glance_metadata to 'query_volume_filters'
option for new functionality to work.
Change-Id: I1d276d93ad5e799401b48d2234e61c28a3aaf790
Implements: blueprint support-volume-glance-metadata-query
oslo.versionedobjects will enforce to use real UUIDs instead of
fakes in the future. This patch uses UUID from fake_constants for
funcitonal tests.
Change-Id: Id93ebc2054501941c9969f62367ddcbdda81dd82
Some DBs' update method are order dependent, and they behave differently
depending on the order of the values, example on a volume with
'available' status:
UPDATE volumes SET previous_status=status, status='retyping'
WHERE id='44f284f9-877d-4fce-9eb4-67a052410054';
Will result in a volume with 'retyping' status and 'available'
previous_status both on SQLite and MariaDB, but
UPDATE volumes SET status='retyping', previous_status=status
WHERE id='44f284f9-877d-4fce-9eb4-67a052410054';
Will yield the same result in SQLite but will result in a volume with
status and previous_status set to 'retyping' in MariaDB, which is not
what we want, so order must be taken into consideration.
This patch will allow conditional update to auto order the update
including the possibility of accepting a spefic ordering that takes
precedence over the automatic ordering.
Automatic order is as follow:
1- Order specified in argument order
2- Values that refer to other ORM field (simple and using operations,
like size + 10)
3- Values that use Case clause (since they may be using fields as well)
4- All other values
Specs: https://review.openstack.org/232599/
Depends-On: I7de421252330fa27b0ad3cadbc4395a8f28a9dad
Implements: blueprint cinder-volume-active-active-support
Change-Id: Ic3a42a5bd2c7436328dc3bf449d463e170d9f807
Currently the VMDK driver does not support creating volumes
with paraVirtual adapter type. It fails the copy image to
volume operation if the image's 'vmware_adaptertype' property
is set to 'paraVirtual'. This patch adds the paraVirtual
adapter type to the list of valid adapter types to fix this.
Closes-bug: #1578399
Change-Id: I981b1737974ae1fbb3eb3fef3811bcb50030d670
os-brick uses processutils.execute in the current version by default. It
will priv_rootwrap.execute in the new version if nothing will be passed.
So we don't need to pass anything to os-brick explicitly.
Change-Id: I489193c18ae6603f0bc750c7b63e1dd0b4a71e28
This fixes a defect where a locally cached image is not
always used by the Copy Offload feature. By using an available
image, local to the same backend as the share, performance can be
improved as a clone operation is executed instead of a remote copy.
Also, moved and refactored tests from test_netapp_nfs.py to the
correct test class under the netapp driver test directory. This is
part of the ongoing refactoring of test_netapp_nfs.py to meet
current code standards.
Change-Id: Ia4d4435d81d2f7dabd12582553b89f9b9d5ab38a
Closes-Bug: 1568998
Forced backup was failing when the driver returned a 'provider_location'
for a cloned volume, because the return value for create_cloned_volume()
was ignored in _create_temp_cloned_volume().
Change-Id: I709996316e4c212243629e461d36da4152e995e4
Closes-Bug: 1573126
To avoid conflicts, it needs to be done and
the subdirs 'api' and 'scenario' directly under
the cinder/tests/tempest directory
Closes-Bug: #1577016
Change-Id: I5b8d1411e0917ecb7e70eb5a6b139d75437ba032
Midway through the valid uuid conversion project, we decided
to use upper-case fake constant uuids. For backwards compatibility,
we put both upper-case and lower-case versions of each constant
in the fake_constants file, with the goal of returning and removing
the lower-case versions when their usages had been converted to
upper-case.
This commit converts the lower-case usages of the constants to
upper-case and removes the lower-case definitions from the
constants file.
Change-Id: I89e394fe6d0e0483c0816ae133f929616b340538
There are many places in Cinder where we break this rule.
Filter them out ahead of time, before oslo.versionedobjects no
longer allows this behavior.
Change-Id: I34c48ff55a7d3e1b607fb8630bddbe5a1a14764d
One extra line of code is present which is not doing anything
specific, just one a == b statement which does not have any
impact.
So, removing extra statement which does not have any impact.
Change-Id: I23b75d7c74ed6cc90ffc3607d2c144565781f871
Closes-Bug:#1575592
This patch implements basic user messages with the following APIs.
GET /messages
GET /messages/<message_id>
DELETE /messages/<message_id>
Implements : blueprint summarymessage
Co-Authored-By: Alex Meade <mr.alex.meade@gmail.com>
Co-Authored-By: Sheel Rana <ranasheel2000@gmail.com>
Change-Id: Id8a4a700c1159be24b15056f401a2ea77804d0a0
The test_cmd unit tests are emitting several FutureWarnings [1]
from oslo_versioned_objects due to use of invalid faked test values.
This commit uses fake values from cinder/tests/unit/fake_constants.py
to clean up this test module consistent with similar cleanups in the
codebase.
[1] http://docs.openstack.org/developer/oslo.versionedobjects/api/fields.html#oslo_versionedobjects.fields.UUIDField
Change-Id: Id54026f0219c77d0e9a30668b448225d805cf270