From a5c28ad423e7b98d5df1856dab751de7839d3e6c Mon Sep 17 00:00:00 2001 From: Xun Jiang Date: Fri, 9 Jun 2023 20:55:00 +0800 Subject: [PATCH] Add warning message for volume snapshotter in data mover case. Signed-off-by: Xun Jiang --- changelogs/unreleased/6377-blackpiglet | 1 + pkg/backup/item_backupper.go | 7 +++++++ pkg/builder/volume_snapshot_class_builder.go | 2 +- 3 files changed, 9 insertions(+), 1 deletion(-) create mode 100644 changelogs/unreleased/6377-blackpiglet diff --git a/changelogs/unreleased/6377-blackpiglet b/changelogs/unreleased/6377-blackpiglet new file mode 100644 index 000000000..4aa9c9518 --- /dev/null +++ b/changelogs/unreleased/6377-blackpiglet @@ -0,0 +1 @@ +Add warning message for volume snapshotter in data mover case. \ No newline at end of file diff --git a/pkg/backup/item_backupper.go b/pkg/backup/item_backupper.go index b89044aa3..fbf43df42 100644 --- a/pkg/backup/item_backupper.go +++ b/pkg/backup/item_backupper.go @@ -480,6 +480,13 @@ func (ib *itemBackupper) takePVSnapshot(obj runtime.Unstructured, log logrus.Fie return nil } + // TODO: Snapshot data mover is only supported for CSI plugin scenario by now. + // Need to add a mechanism to choose running which plugin for resources. + // After that, this warning can be removed. + if boolptr.IsSetToTrue(ib.backupRequest.Spec.SnapshotMoveData) { + log.Warnf("VolumeSnapshotter plugin doesn't support data movement.") + } + if ib.backupRequest.ResPolicies != nil { if action, err := ib.backupRequest.ResPolicies.GetMatchAction(pv); err != nil { log.WithError(err).Errorf("Error getting matched resource policies for pv %s", pv.Name) diff --git a/pkg/builder/volume_snapshot_class_builder.go b/pkg/builder/volume_snapshot_class_builder.go index 9a5911e0f..f807871bc 100644 --- a/pkg/builder/volume_snapshot_class_builder.go +++ b/pkg/builder/volume_snapshot_class_builder.go @@ -27,7 +27,7 @@ type VolumeSnapshotClassBuilder struct { } // ForVolumeSnapshotClass is the constructor of VolumeSnapshotClassBuilder. -func (b *VolumeSnapshotClassBuilder) ForVolumeSnapshotClass(name string) *VolumeSnapshotClassBuilder { +func ForVolumeSnapshotClass(name string) *VolumeSnapshotClassBuilder { return &VolumeSnapshotClassBuilder{ object: &snapshotv1api.VolumeSnapshotClass{ TypeMeta: metav1.TypeMeta{