Skip to content

Commit 6fc7716

Browse files
authored
Merge pull request #414 from RaunakShah/cherrypickpvcfinalizer
Cherry pick #413 to release-3.0
2 parents 45d61c7 + ddff66d commit 6fc7716

File tree

1 file changed

+10
-8
lines changed

1 file changed

+10
-8
lines changed

pkg/common-controller/snapshot_controller.go

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -812,22 +812,24 @@ func (ctrl *csiSnapshotCommonController) ensurePVCFinalizer(snapshot *crdv1.Volu
812812
return newControllerUpdateError(snapshot.Name, "cannot get claim from snapshot")
813813
}
814814

815-
if pvc.ObjectMeta.DeletionTimestamp != nil {
816-
klog.Errorf("cannot add finalizer on claim [%s] for snapshot [%s]: claim is being deleted", pvc.Name, snapshot.Name)
817-
return newControllerUpdateError(pvc.Name, "cannot add finalizer on claim because it is being deleted")
815+
if utils.ContainsString(pvc.ObjectMeta.Finalizers, utils.PVCFinalizer) {
816+
klog.Infof("Protection finalizer already exists for persistent volume claim %s/%s", pvc.Namespace, pvc.Name)
817+
return nil
818818
}
819819

820-
// If PVC is not being deleted and PVCFinalizer is not added yet, the PVCFinalizer should be added.
821-
if pvc.ObjectMeta.DeletionTimestamp == nil && !utils.ContainsString(pvc.ObjectMeta.Finalizers, utils.PVCFinalizer) {
822-
// Add the finalizer
820+
if pvc.ObjectMeta.DeletionTimestamp != nil {
821+
klog.Errorf("cannot add finalizer on claim [%s/%s] for snapshot [%s/%s]: claim is being deleted", pvc.Namespace, pvc.Name, snapshot.Namespace, snapshot.Name)
822+
return newControllerUpdateError(pvc.Name, "cannot add finalizer on claim because it is being deleted")
823+
} else {
824+
// If PVC is not being deleted and PVCFinalizer is not added yet, add the PVCFinalizer.
823825
pvcClone := pvc.DeepCopy()
824826
pvcClone.ObjectMeta.Finalizers = append(pvcClone.ObjectMeta.Finalizers, utils.PVCFinalizer)
825827
_, err = ctrl.client.CoreV1().PersistentVolumeClaims(pvcClone.Namespace).Update(context.TODO(), pvcClone, metav1.UpdateOptions{})
826828
if err != nil {
827-
klog.Errorf("cannot add finalizer on claim [%s] for snapshot [%s]: [%v]", pvc.Name, snapshot.Name, err)
829+
klog.Errorf("cannot add finalizer on claim [%s/%s] for snapshot [%s/%s]: [%v]", pvc.Namespace, pvc.Name, snapshot.Namespace, snapshot.Name, err)
828830
return newControllerUpdateError(pvcClone.Name, err.Error())
829831
}
830-
klog.Infof("Added protection finalizer to persistent volume claim %s", pvc.Name)
832+
klog.Infof("Added protection finalizer to persistent volume claim %s/%s", pvc.Namespace, pvc.Name)
831833
}
832834

833835
return nil

0 commit comments

Comments
 (0)