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:
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.
Reviewed: https:/ /review. opendev. org/c/openstack /cinder/ +/839063 /opendev. org/openstack/ cinder/ commit/ 68311a0794435f9 8d2b86b2faa9970 208f50b746
Committed: https:/
Submitter: "Zuul (22348)"
Branch: master
commit 68311a0794435f9 8d2b86b2faa9970 208f50b746
Author: Gorka Eguileor <email address hidden>
Date: Mon Apr 18 17:37:34 2022 +0200
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 protocol" reported by the drivers on their stats to add the
"storage_
"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 4eb2b3b79ea70a0 6e0afe28cd9
Related-Bug: #1961102
Change-Id: I1333b0471974e9