Comment 2 for bug 1969366

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to cinder (master)

Reviewed: https://review.opendev.org/c/openstack/cinder/+/839063
Committed: https://opendev.org/openstack/cinder/commit/68311a0794435f98d2b86b2faa9970208f50b746
Submitter: "Zuul (22348)"
Branch: master

commit 68311a0794435f98d2b86b2faa9970208f50b746
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
    "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