As a cluster admin
I want the cluster storage operator to install the shared resources CSI driver
So that I can test the shared resources CSI driver on my cluster
- Cluster storage operator uses image references to resolve the csi-driver-shared-resource-operator and all images needed to deploy the csi driver.
- Shared resources CSI driver is installed when the cluster enables the CSIDriverSharedResources feature gate, OR
- Shared resource CSI driver is installed when the cluster enables the TechPreviewNoUpgrade feature set
- CI ensures that if the TechPreviewNoUpgrade feature set is enabled on the cluster, the shared resource CSI driver is deployed and functions correctly.
Docs will need to identify how to install the shared resources CSI driver (by enabling the tech preview feature set)
- Add the Share APIs (SharedSecret, SharedConfigMap) to openshift/api
- Generate clients in openshift/client-go for Share APIs
- Update the CSI driver name used in the enum for the ClusterCSIDriver custom resource.
- Generate custom resource definitions and include it in the deployment YAMLs for the shared resource operator
- Add YAML deployment manifests for the shared resource operator to the cluster storage operator (include necessary RBAC)
- Ensure cluster storage operator has permission to create custom resource definitions
- Enhance the cluster storage operator to install the shared resource CSI driver only when the cluster enables the CSIDriverSharedResources feature gate
Note that to be able to test all of this on any cloud provider, we need
STOR-616 to be implemented. We can work around this by making the CSI driver installable on AWS or GCP for testing purposes.
The cluster storage operator has cluster-admin permissions. However, no other CSI driver managed by the operator includes a CRD for its API.