diff --git a/controllers/storageclassclaim/storageclassclaim_controller.go b/controllers/storageclassclaim/storageclassclaim_controller.go index e1d58b3b4f..259326decb 100644 --- a/controllers/storageclassclaim/storageclassclaim_controller.go +++ b/controllers/storageclassclaim/storageclassclaim_controller.go @@ -291,6 +291,24 @@ func (r *StorageClassClaimReconciler) reconcileConsumerPhases() (reconcile.Resul if err != nil { return reconcile.Result{}, fmt.Errorf("failed to create or update secret %v: %s", secret, err) } + case "CephFilesystemSubVolumeGroup": + subVolumeGroup := &rookCephv1.CephFilesystemSubVolumeGroup{ObjectMeta: metav1.ObjectMeta{ + Name: resource.Name, + Namespace: r.storageClassClaim.Namespace, + }} + _, err = ctrl.CreateOrUpdate(context.TODO(), r.Client, subVolumeGroup, func() error { + if err := r.own(subVolumeGroup); err != nil { + return err + } + subVolumeGroup.Spec = rookCephv1.CephFilesystemSubVolumeGroupSpec{ + FilesystemName: data["filesystemName"], + } + return nil + }) + if err != nil { + r.log.Error(err, "Could not create CephFilesystemSubVolumeGroup.", "CephFilesystemSubVolumeGroup", klog.KRef(subVolumeGroup.Namespace, subVolumeGroup.Name)) + return reconcile.Result{}, err + } case "StorageClass": var storageClass *storagev1.StorageClass data["csi.storage.k8s.io/provisioner-secret-namespace"] = r.storageClassClaim.Namespace