Container storage interface (CSI)
The CSI badge is a specialization within Red Hat OpenShift certification for storage products that integrate with OpenShift using a CSI driver to provide persistent storage for containerized applications.
Driver requirements Copy linkLink copied!
The CSI driver must implement version 1.0 or later of the CSI specification and must implement the create and delete volume capabilities. All other capabilities are optional. If the driver implements and supports them, it must declare them through a manifest file so that tests can verify them. See the example manifest file. For more information about the CSI versions that a specific OpenShift version supports, see the specific release documents.
Operator and sidecar requirements Copy linkLink copied!
The CSI driver must be deployed and managed through an Operator that meets the Operator certification requirements described in this document. The requirements to use certified operands (containers) also apply to the driver sidecar images. You must build and maintain the sidecar images so they can meet this criterion. You can select a sidecar image that Red Hat publishes and maintains as part of OpenShift. If you do so, verify the interoperability of your CSI driver with the sidecars, and you must test and incorporate sidecar updates when they become available.
OpenShift interoperability requirements Copy linkLink copied!
All components installed on the host must be tested and supported on the versions of Red Hat Enterprise Linux and Red Hat CoreOS, used by the OpenShift release targeted for certification.
The CSI driver must support the storage features listed in the OpenShift Virtualization storage feature matrix, so users can take full advantage of platform services for virtual machines. The CSI product documentation must indicate if any of these features are not supported by the driver.
CSI lifecycle management requirements Copy linkLink copied!
During upgrades, the Container Storage Interface (CSI) driver must manage volumes without data loss, handle requests consistently, maintain correct placement, and report status to ensure reliable storage.
The driver must ensure that upgrades have minimal impact on either major or minor releases. The driver upgrades must not require a full node reboot for upgrades, whether major or minor, and must preserve existing volume mounts during cluster upgrades.
The driver must allow volume operations during upgrades. If the driver cannot perform new volume operations or preserve existing volume mounts, you must document this limitation along with detailed upgrade steps, for example, if a full cluster drain or node cordoning and draining is required.
The driver documentation must show any difference in the upgrade procedure between minor releases, bug fixes, or major updates.
Certifications apply to the OpenShift minor release that the partner tests. Partners must recertify their product for new minor OpenShift releases.
CSI test compliance Copy linkLink copied!
The plugin must complete the CSI tests of the OpenShift End-to-End Tests, based on the Kubernetes End-to-End Tests.
You must execute the tests for the supported storage protocols (such as iSCSI, NFS, FC), and the results must match the declared capabilities. The catalog lists and makes searchable only the tested storage protocols.
- Multi-architecture and multi-protocol requirement
-
For CSI certification, you must perform testing for each supported architecture and protocol under a single functional certification.
- Produce separate test results for each architecture and protocol combination.
- Submit the test results and credit them to the same functional certification.
- If you add additional architectures or protocols later, submit them through a new supplemental certification and link them to that functional certification.