2374 Commits

Author SHA1 Message Date
Zuul
ee662725a6 Merge "Add releasenotes to drop python3.6|7" 2022-05-19 21:47:37 +00:00
Zuul
c5053734cf Merge "HPE 3PAR: In multi host env, fix multi-detach operation" 2022-05-19 15:49:29 +00:00
Zuul
dba355a10d Merge "[IBM DS8000] Fixed Detach for multi-attach volumes" 2022-05-18 17:17:26 +00:00
haailani
56d27404c7 [IBM DS8000] Fixed Detach for multi-attach volumes
During detach operation for Multi attach type volumes
the first detach from the host is successful.
In the second detach operation the volume remains in
detaching state.

Fixed the above issue by adding a check for multi-attach
volumes and get the host mapping info of a volume.
If the volume is attached to multiple hosts, then skip
the delete host operation and return.

Closes-bug: #1951046

Change-Id: I8f4586292d1310d6f7bd9fd22b98715f3414d23c
2022-05-17 11:23:56 +00:00
Sofia Enriquez
98acb82221 RBD: Fix _show_msg_check_clone_v2_api
There might be a case where the exception raised by `op_features`
could be other than AttributeError. When any exception other than
AttributeError is raised, we should log and avoid raising an
exception.

Closes-Bug: #1942210
Co-Authored-By: Gorka Eguileor <geguileo@redhat.com>
Change-Id: I513abe980b73d7e7b1a3cd9c7ff89490f7fd6b08
2022-05-16 19:04:23 +00:00
Zuul
4ee226cec1 Merge "Seagate/Lenovo drivers: Update get_driver_options" 2022-05-14 01:24:41 +00:00
Zuul
7965c08a5a Merge "Don't destroy existing backup by mistake on import" 2022-05-13 10:07:41 +00:00
Zuul
dae547d8a7 Merge "RBD: Don't flatten temporary resources" 2022-05-12 17:59:57 +00:00
Ghanshyam Mann
7755f8cdd4 Add releasenotes to drop python3.6|7
As per testing runtime for Zed cycle, below patch dropped the
support for python 3.6|7 and having a releasenotes for that will
be helpful for users.

- https://review.opendev.org/c/openstack/cinder/+/839469

[1] https://governance.openstack.org/tc/reference/runtimes/zed.html

Change-Id: I088d48efa1de74a24a365990a9396514a3a76ad2
2022-05-10 19:33:08 -05:00
David White
b6559c1171 Seagate/Lenovo drivers: Update get_driver_options
Lenovo driver: Return additional options from get_driver_options that
the driver may use but were not previously being returned

Seagate driver: Implement get_driver_options static method

Change-Id: Ic66a055358c4afaf198acad48f0afd75d9304dca
2022-05-04 10:31:32 -06:00
raghavendrat
3ed2f38e54 HPE 3PAR: In multi host env, fix multi-detach operation
In multi host environment, if volume is attached to instances present
on different hosts, detach operation works partially.
As a result, at later time the volume cannot be deleted.

Details are explained in launchpad bug.

This patch performs following:
During detach volume from instance, both possibilities are considered:
the instances can reside:
[1] either on same host.
[2] or on different hosts.

case [1]:
In such case, behaviour is same as earlier i.e vlun is not deleted
upon each detach operation i.e skip remainder of terminate volume
connection. The vluns are deleted only on last detach operation.

case [2]:
In such case, vlun of that host on 3par array is deleted separately
upon each detach operation.

Closes-Bug: #1958122
Change-Id: I47e8e86a495802a21570e23ecf7428fccc8b3d60
2022-05-03 07:28:52 -04:00
Zuul
a540555457 Merge "[SVf]:Fix multiple lsvdisk calls for GMCV create volume operation" 2022-05-02 16:59:25 +00:00
Zuul
926ea061d8 Merge "releasenotes: correct formatting error" 2022-05-02 06:02:40 +00:00
Zuul
aa774d6faf Merge "Prevent temporary volume from being deleted accidentally" 2022-04-29 20:27:36 +00:00
Zuul
51f310ce3b Merge "Fix reported storage_protocol" 2022-04-29 19:50:29 +00:00
Zuul
2611f67393 Merge "Fix cacheable capability" 2022-04-29 19:50:24 +00:00
Zuul
eb98b2874b Merge "Add REIMAGE_VOLUME message action" 2022-04-29 16:51:28 +00:00
Hironori Shiina
53c13891b3 Prevent temporary volume from being deleted accidentally
A temporary volume can be deleted while it is in use by DELETE API
accidentally because its status is `available`. To avoid this deletion,
this fix sets a value which doesn't accept deletion to volume status of
a temporary volume. When a temporary volume is used for backing up,
`backing-up` is set. When a temporary volume is used for reverting a
snapshot, `in-use` is set because the volume is attached by a host.

Closes-Bug: #1970768
Change-Id: Ib6a2e4d68e532b91161df5245c17ce815f12f935
2022-04-28 14:35:24 -04:00
Zhang Fan
998a654d7e Add REIMAGE_VOLUME message action
message_field.Action.REIMAGE_VOLUME doesn't exist. This patch adds the REIMAGE_VOLUME.

The content of message_field.Detail.NOTIFY_COMPUTE_SERVICE_FAILED is "Compute service failed to extend volume".
This message should be "Compute service failed to reimage volume". This patch adds the new REIMAGE_VOLUME_FAILED detail parameter for this message.

Closes-Bug: #1968170
Change-Id: I3e17c6a2a7f252a9d324a1fea616e22869e55702
2022-04-28 14:40:04 +08:00
sreerammounika
685c5fb958 [SVf] Delete/Extend issue in reverse replication
[Spectrum Virtualize family] Deletion and extend of the volume
in reverse replication failed.

Added necessary code changes to storwize cinder driver to
delete and extend the volume successfully in reverse replication.
Also, added support to extend the volume for failover scenarios.

Bugs are inter-dependent on reverse-replication, hence addressed
the bugs in a single commit.

Closes-Bug: #1960315
Closes-Bug: #1966639

Change-Id: I00d56980e0e8b8dfebd4e7495f625173f0421b75
2022-04-27 13:13:35 +00:00
Brian Rosmaita
6386cbb0a0 Don't destroy existing backup by mistake on import
We're supposed to fail an import request for an already existing
backup, but the current code confuses an existing backup record with
one we created for the import, and during quota rollback, will
destroy either one.  Simplify the logic so that we check whether
there's an already existing backup first and bail without even
bothering to make an unnecessary reservation, hence leaving us nothing
to roll back or delete by mistake.

Also revise and add tests.

Closes-bug: #1965847
Change-Id: I3c0e365f5dc3c32975343f538c6029f02ac7c2b5
2022-04-26 23:19:17 -04:00
Brian Rosmaita
228d1c5e6d releasenotes: correct formatting error
Fix error from change I216f84ed379d that prevents a hyperlink
from being rendered correctly in HTML.

Change-Id: I6544e5d68714c439cc667f1e20e70841eaa0a88b
2022-04-26 08:00:55 -04:00
haailani
76de76646d [SVf]:Fix multiple lsvdisk calls for GMCV create volume operation
[Spectrum Virtualize family] During creation of GMCV type volume
there are multiple lsvdisk calls made for checking the existence
of source change volume, aux volume and change aux volume.
Along with these calls there is a lssystem call which can be
optimized.

This patch optimizes these lsvdisk and lssystem calls which in
turn reduces the computational time for creating GMCV volumes.

Closes-Bug: #1961548

Change-Id: Id00cda88132184e66fbf6c03965f1de30cf02dcf
2022-04-21 10:51:57 +00:00
Zuul
0eef543691 Merge "[SVf]:Fix retype failure for replication volume-type" 2022-04-20 17:18:46 +00:00
Gorka Eguileor
39e518456c Fix reported storage_protocol
Cinder has multiple drivers reporting the same storage_protocol in their
stats but with different strings:

For example we have the following variants:
- nfs and NFS
- nveof, NVMe-oF, NVMeOF
- iSCSI, iscsi
- FC, fc, fibre_channel

This patch documents the right values (to use existing constants) and
makes the scheduler treat all variants as if they were equal.

This is done by changing the storage_protocol into a list in the
scheduler upon reception of the stats from the volume.  Most of the code
in the scheduler is already able to handle this, the only changes
necessary are on the filter and goodness function code, which will now
run the respective functions for all the different protocol alternatives
and select the right one, but only when the function actually uses the
storage_protocol.

The API will now report the preferred protocol name in operations like
"cinder get-pools --detail".

Closes-Bug: #1966103
Change-Id: I07d74078dbb102490dd722029e32c74cec3aa44c
2022-04-20 18:48:24 +02:00
Gorka Eguileor
68311a0794 Fix cacheable capability
When using the LVM cinder driver the cacheable capability is not being
reported by the backend to the scheduler when the transport protocol is
NVMe-oF (nvmet target driver), but it is properly reported if it's the
LIO target driver.

This also happens with other drivers that should be reporting that they
are cacheable.

This happens because even if the volume manager correctly uses the
"storage_protocol" reported by the drivers on their stats to add the
"cacheable" capability for iSCSI, FC, and NVMe-oF protocols, it isn't
taking into account all the variants these have:

- FC, fc, fibre_channel
- iSCSI, iscsi
- NVMe-oF, nvmeof, NVMeOF

Same thing happens for the shared_targets of the volumes, which are not
missing an iSCSI variant.

This patch creates constants for the different storge protocols to try
to avoid these variants (as agreed on the PTG) and also makes the
cacheable and shared_targets check against all the existing variants.

This change facilitates identifying NVMe-oF drivers (for bug 1961102)
for the shared_targets part.

Closes-Bug: #1969366
Related-Bug: #1961102
Change-Id: I1333b0471974e94eb2b3b79ea70a06e0afe28cd9
2022-04-20 18:47:46 +02:00
Zuul
ff022d5a67 Merge "[SVf] Resize of GMCV volumes in group" 2022-04-20 13:13:45 +00:00
sreerammounika
f8f9bfabf9 [SVf] Resize of GMCV volumes in group
[Spectrum Virtualize family] Currently, SVf does not support
extend operation for GMCV volumes which are a part of a
consistency group(CG). Added necessary code changes to
storwize cinder driver to support this operation.

Closes-Bug: #1960314
Change-Id: I9e9dd4f81582ec0d60b64c281f47bd48e907d0ea
2022-04-19 10:29:36 +00:00
haailani
b99e73e96c [SVf]:Fix retype failure for replication volume-type
[Spectrum Virtualize family] While retyping GM to GM or MM to MM or
GMCV to GMCV, chfcmap() call is being made which is resulting in retype
operation failure.
Error: CMMVC7154E The task cannot be completed because the specified
FlashCopy mapping is controlled by a Metro Mirror or Global Mirror
relationship.

chfcmap() should not be called for any FC map which is rc_controlled.
Hence while retyping global mirror to global mirror or
metro mirror to metro mirror or GMCV to GMCV volume, this error comes
up as the FC map of the volume is rc_controlled for these replication
volume-types.

Closes-Bug: #1968159
Change-Id: Ic97a2501b4c895b2b655284bcc320036c2d4e217
2022-04-19 05:16:24 +00:00
Stephen Finucane
36c530676f db: Drop support for MySQL 5.5
This went EOL in December 2018. We don't need this logic. A release note
is included, even though this isn't really needed (we don't formalize
our support for different MySQL versions anywhere, and are mostly
dependent on what SQLAlchemy/oslo.db support)

Change-Id: Ie78d6e7612d84c712c8dc6fb5effc2b8bd5b4b22
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2022-04-12 11:03:50 +01:00
Zuul
7b4d9c5d1e Merge "Fix PowerFlex connector HTTPS certificate validation" 2022-04-11 14:57:09 +00:00
Zuul
7dbeb9124c Merge "Fix unnecessary migration on retype" 2022-04-01 13:32:36 +00:00
Zuul
1b6bbdf786 Merge "NetApp ONTAP: Fix check QoS min support for SVM account" 2022-03-24 18:31:33 +00:00
Yadiel Xuan(轩艳东)
8088dc9580 Prohibit volume manage to an encrypted volume type
Managing a volume to an encrypted volume type should not be allowed.
One reason is that there is no way for an operator to specify an
encryption key ID for the volume. Another is that we already don't
allow a volume of an encrypted type to be un-managed, so this change
will be symmetric.

Also update and correct the api-ref for this call.

Co-authored-by: Yadiel Xuan(轩艳东) <xuanyandong@inspur.com>
Co-authored-by: Brian Rosmaita <rosmaita.fossdev@gmail.com>

Change-Id: Ic2da41f3962c1108f974aca952bce3da6d6ac277
Closes-bug: #1944577
2022-03-21 11:48:01 -04:00
fcf8ab1d8f Update master for stable/yoga
Add file to the reno documentation build to show release notes for
stable/yoga.

Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/yoga.

Sem-Ver: feature
Change-Id: I0204daab831d56dffcb41fb3775b9b6a917c0f5a
2022-03-14 09:30:09 +00:00
Brian Rosmaita
b69353b6c8 Add yoga release note prelude
Also update the max microversion for yoga in the api version
history document.

Change-Id: I0573499b6d4141d3739033d3af5dbfec681fa908
2022-03-11 09:11:43 -05:00
Atsushi Kawai
1678260539 Hitachi: Add Target Port Assignment for VSP Driver
Defining particular ports in extra spec "hbsd:target_ports"
determines which of the ports specified by the hitachi_target_ports
or the hitachi_compute_target_ports parameters are used to create LUN
paths during volume attach operations for each volume type.

Implements: blueprint hitachi-vsp-tgt-port-asgn
Change-Id: I2e8d80261fa797c8f3c83c078c29cf1173d46c3c
2022-03-08 04:55:10 +00:00
Atsushi Kawai
5c48b6fc32 Hitachi: Support AIX as host OS type
This patch support AIX as host OS type for the Hitachi VSP driver.
When running "cinder attachment-create" command with the option "--ostype aix",
"AIX" is set as host OS type.

Implements: blueprint hitachi-vsp-aix-os-type
Change-Id: Ia3378099789f13d60ba3657d1d3a626e7bc9dced
2022-03-04 02:09:57 +00:00
Zuul
b49fb59a6b Merge "Remove attach and detach volume driver methods" 2022-03-02 19:21:56 +00:00
Zuul
fab51b6af0 Merge "Move nimble driver code to hpe folder" 2022-03-02 11:54:20 +00:00
Zuul
2cdabb6a97 Merge "[SVf] Manage host attachment using portsets" 2022-03-01 00:13:24 +00:00
haailani
88fd602edd [SVf] Manage host attachment using portsets
[Spectrum Virtualize family] Providing support to IBM Storwize cinder
driver to use portsets to manage host attachment, backend storage
connectivity and IP replication traffic.
Portsets are groupings of logical addresses that are associated with
specific traffic types. Portsets are created on the storage. Hosts are
then created using the portset info given by the admin.

Implements: blueprint ibm-svf-portset

Change-Id: I38c9889bff2d18d3dadd49f28b8436a77b131a22
2022-02-28 08:57:25 +00:00
whoami-rajat
fedd9b1459 Followup: Address review comments on re-image patch
This is a followup patch to address review comments on change
I031aae50ee82198648f46c503bba04c6e231bbe5.

Change-Id: I38884b313ea63ff76bc65c41580343226a128ae8
2022-02-24 22:58:53 +05:30
Yikun Jiang
d69e89ea3b Support volume re-image
This patch adds volume re-image API to enable the ability to
re-image a specific volume.

Implements: blueprint add-volume-re-image-api

Co-Authored-by: Rajat Dhasmana <rajatdhasmana@gmail.com>

Change-Id: I031aae50ee82198648f46c503bba04c6e231bbe5
2022-02-24 15:23:38 +05:30
Gorka Eguileor
18b8033b6b Fix request id mess on Cinder-API
This patch fixes multiple issues related to request ids:

- Duplicated request ID in logs
- Missing request id header in response
- Wrong request ID in response header when using noauth

The source of these issues is the fact that the request ID and the
request context are set too late, or not at all, in the paste filter
chain.

And the last bug is fixed as a freebie when the code in auth.py is
refactored to reduce code duplication on setting the cinder.context key
in the request's environment.

The patch fixes these issue by changing the filter chains to have the
request_id filter as the first filter, and using our own filter for it,
to ensure that the context is correctly set.

Not sure if values now defined in ENV_OVERWRITES are still necessary,
so the patch preserves current behavior.

Closes-Bug: #1960019
Closes-Bug: #1960020
Closes-Bug: #1960021
Closes-Bug: #1960329
Change-Id: Ide831a221a7561bbb7da193f0edb011f1989420e
2022-02-23 16:48:45 +01:00
Zuul
5b89039e9e Merge "Remove the need for project_id from API endpoints" 2022-02-23 15:40:46 +00:00
Zuul
627d117fab Merge "[SVf] RevertToSnapshot for rep-volumes in group" 2022-02-22 15:38:15 +00:00
Zuul
db0f997401 Merge "PureStorage FlashArray: Add active/active replication" 2022-02-17 00:51:31 +00:00
Jay S. Bryant
be24c0c6e7 Fix typo in release note.
Had a follow up to fix a typo in the release
note after merging the patch.  This fixes the typo.

Change-Id: I6976569ac3617cc247a4c39f786ece8443d43d0b
2022-02-16 09:20:36 -06:00
Simon Dodsley
52d97807ca PureStorage FlashArray: Add active/active replication
This patch adds support for active/active replication in the
FlashArray driver.

failover_host has been split into two parts (failover and
failover_completed) to allow all nodes in a cluster to properly
switch between primary and secondary backends after a succesful
failover or failback procedure.

Change-Id: I94e9c1106d4be0049b98ec7131ec88c9f9a32588
2022-02-16 07:49:57 -05:00