diff --git a/pkg/operator/ceph/client/controller.go b/pkg/operator/ceph/client/controller.go index 131536b90..5c24579f9 100644 --- a/pkg/operator/ceph/client/controller.go +++ b/pkg/operator/ceph/client/controller.go @@ -257,6 +257,12 @@ func (r *ReconcileCephClient) createOrUpdateClient(cephClient *cephv1.CephClient }, StringData: map[string]string{ cephClient.Name: key, + // CSI requires userID and userKey for RBD + "userID": cephClient.Name, + "userKey": key, + // CSI requires adminID and adminKey for CephFS + "adminID": cephClient.Name, + "adminKey": key, }, Type: k8sutil.RookType, } diff --git a/pkg/operator/ceph/client/controller_test.go b/pkg/operator/ceph/client/controller_test.go index 27f947d28..39a4fae19 100644 --- a/pkg/operator/ceph/client/controller_test.go +++ b/pkg/operator/ceph/client/controller_test.go @@ -295,6 +295,10 @@ func TestCephClientController(t *testing.T) { cephClientSecret, err := c.Clientset.CoreV1().Secrets(namespace).Get(ctx, cephClient.Status.Info["secretName"], metav1.GetOptions{}) assert.NoError(t, err) assert.NotEmpty(t, cephClientSecret.StringData) + assert.Contains(t, cephClientSecret.StringData, "userID") + assert.Contains(t, cephClientSecret.StringData, "userKey") + assert.Contains(t, cephClientSecret.StringData, "adminID") + assert.Contains(t, cephClientSecret.StringData, "adminKey") } func TestBuildUpdateStatusInfo(t *testing.T) {