From e1f82e4f1acbc5054499b11bd8f5bf9fe186c982 Mon Sep 17 00:00:00 2001 From: Grant Griffiths Date: Tue, 28 Sep 2021 15:54:15 -0700 Subject: [PATCH] Add patch for delete annotation Signed-off-by: Grant Griffiths --- pkg/common-controller/snapshot_controller.go | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/pkg/common-controller/snapshot_controller.go b/pkg/common-controller/snapshot_controller.go index 9bd0ef8b..e2f56e91 100644 --- a/pkg/common-controller/snapshot_controller.go +++ b/pkg/common-controller/snapshot_controller.go @@ -1544,14 +1544,21 @@ func (ctrl *csiSnapshotCommonController) setAnnVolumeSnapshotBeingDeleted(conten // Set AnnVolumeSnapshotBeingDeleted if it is not set yet if !metav1.HasAnnotation(content.ObjectMeta, utils.AnnVolumeSnapshotBeingDeleted) { klog.V(5).Infof("setAnnVolumeSnapshotBeingDeleted: set annotation [%s] on content [%s].", utils.AnnVolumeSnapshotBeingDeleted, content.Name) + var patches []utils.PatchOp metav1.SetMetaDataAnnotation(&content.ObjectMeta, utils.AnnVolumeSnapshotBeingDeleted, "yes") + patches = append(patches, utils.PatchOp{ + Op: "replace", + Path: "/metadata/annotations", + Value: content.ObjectMeta.GetAnnotations(), + }) - updateContent, err := ctrl.clientset.SnapshotV1().VolumeSnapshotContents().Update(context.TODO(), content, metav1.UpdateOptions{}) + patchedContent, err := utils.PatchVolumeSnapshotContent(content, patches, ctrl.clientset) if err != nil { return content, newControllerUpdateError(content.Name, err.Error()) } + // update content if update is successful - content = updateContent + content = patchedContent _, err = ctrl.storeContentUpdate(content) if err != nil {