From 7e646e8169630cbc0434a80bb34696478ebad94a Mon Sep 17 00:00:00 2001 From: subhamkrai Date: Tue, 10 May 2022 20:22:22 +0530 Subject: [PATCH 1/2] ocs-to-ocs: create subvolumegroup in consumer side Signed-off-by: subhamkrai --- .../storageclassclaim_controller.go | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/controllers/storageclassclaim/storageclassclaim_controller.go b/controllers/storageclassclaim/storageclassclaim_controller.go index 5aff943bd4..064be8ace0 100644 --- a/controllers/storageclassclaim/storageclassclaim_controller.go +++ b/controllers/storageclassclaim/storageclassclaim_controller.go @@ -288,6 +288,21 @@ 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": + found := &rookCephv1.CephFilesystemSubVolumeGroup{ObjectMeta: metav1.ObjectMeta{ + Name: resource.Name, + Namespace: r.storageClassClaim.Namespace, + }} + _, err := ctrl.CreateOrUpdate(context.TODO(), r.Client, found, func() error { + found.Spec = rookCephv1.CephFilesystemSubVolumeGroupSpec{ + FilesystemName: data["filesystemName"], + } + return nil + }) + if err != nil { + r.log.Error(err, "Could not create CephFilesystemSubVolumeGroup.", "CephFilesystemSubVolumeGroup", klog.KRef(found.Namespace, found.Name)) + return reconcile.Result{}, err + } case "StorageClass": var storageClass *storagev1.StorageClass if resource.Name == "cephfs" { From fb8cb2f401b3a00bba9817bac0cb04ea78d8c05c Mon Sep 17 00:00:00 2001 From: subhamkrai Date: Tue, 10 May 2022 20:24:53 +0530 Subject: [PATCH 2/2] ocs-to-ocs: deletion subvolumegroup on consumer side Signed-off-by: subhamkrai --- .../storageclassclaim/storageclassclaim_controller.go | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/controllers/storageclassclaim/storageclassclaim_controller.go b/controllers/storageclassclaim/storageclassclaim_controller.go index 064be8ace0..b18753881b 100644 --- a/controllers/storageclassclaim/storageclassclaim_controller.go +++ b/controllers/storageclassclaim/storageclassclaim_controller.go @@ -289,18 +289,21 @@ func (r *StorageClassClaimReconciler) reconcileConsumerPhases() (reconcile.Resul return reconcile.Result{}, fmt.Errorf("failed to create or update secret %v: %s", secret, err) } case "CephFilesystemSubVolumeGroup": - found := &rookCephv1.CephFilesystemSubVolumeGroup{ObjectMeta: metav1.ObjectMeta{ + subVolumeGroup := &rookCephv1.CephFilesystemSubVolumeGroup{ObjectMeta: metav1.ObjectMeta{ Name: resource.Name, Namespace: r.storageClassClaim.Namespace, }} - _, err := ctrl.CreateOrUpdate(context.TODO(), r.Client, found, func() error { - found.Spec = rookCephv1.CephFilesystemSubVolumeGroupSpec{ + _, 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(found.Namespace, found.Name)) + r.log.Error(err, "Could not create CephFilesystemSubVolumeGroup.", "CephFilesystemSubVolumeGroup", klog.KRef(subVolumeGroup.Namespace, subVolumeGroup.Name)) return reconcile.Result{}, err } case "StorageClass":