Skip to content

Commit a48cc2c

Browse files
committed
always overwrite TargetVolumeAttributesClassName when setting Status
So it will be clear which VAC the status is describing. Specifically, we now set target for Pending status to indicate which VAC we are waiting for.
1 parent 08cf682 commit a48cc2c

File tree

2 files changed

+7
-6
lines changed

2 files changed

+7
-6
lines changed

pkg/modifycontroller/modify_status.go

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,12 @@ package modifycontroller
1818

1919
import (
2020
"fmt"
21+
2122
"github.com/kubernetes-csi/external-resizer/pkg/util"
2223
v1 "k8s.io/api/core/v1"
2324
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
2425
"k8s.io/client-go/tools/cache"
26+
"k8s.io/utils/ptr"
2527
)
2628

2729
// markControllerModifyVolumeStatus will mark ModifyVolumeStatus other than completed in the PVC
@@ -31,10 +33,10 @@ func (ctrl *modifyController) markControllerModifyVolumeStatus(
3133
err error) (*v1.PersistentVolumeClaim, error) {
3234

3335
newPVC := pvc.DeepCopy()
34-
if newPVC.Status.ModifyVolumeStatus == nil {
35-
newPVC.Status.ModifyVolumeStatus = &v1.ModifyVolumeStatus{}
36+
newPVC.Status.ModifyVolumeStatus = &v1.ModifyVolumeStatus{
37+
Status: modifyVolumeStatus,
38+
TargetVolumeAttributesClassName: ptr.Deref(pvc.Spec.VolumeAttributesClassName, ""),
3639
}
37-
newPVC.Status.ModifyVolumeStatus.Status = modifyVolumeStatus
3840
// Update PVC's Condition to indicate modification
3941
pvcCondition := v1.PersistentVolumeClaimCondition{
4042
Type: v1.PersistentVolumeClaimVolumeModifyingVolume,
@@ -45,7 +47,6 @@ func (ctrl *modifyController) markControllerModifyVolumeStatus(
4547
switch modifyVolumeStatus {
4648
case v1.PersistentVolumeClaimModifyVolumeInProgress:
4749
conditionMessage = "ModifyVolume operation in progress."
48-
newPVC.Status.ModifyVolumeStatus.TargetVolumeAttributesClassName = *pvc.Spec.VolumeAttributesClassName
4950
case v1.PersistentVolumeClaimModifyVolumeInfeasible:
5051
conditionMessage = "ModifyVolume failed with error" + err.Error() + ". Waiting for retry."
5152
}

pkg/modifycontroller/modify_volume_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,11 +61,11 @@ func TestModify(t *testing.T) {
6161
},
6262
{
6363
name: "vac does not exist, no modification and set ModifyVolumeStatus to pending",
64-
pvc: createTestPVC(pvcName, targetVac /*vacName*/, testVac /*curVacName*/, testVac /*targetVacName*/),
64+
pvc: createTestPVC(pvcName, targetVac /*vacName*/, testVac /*curVacName*/, "" /*targetVacName*/),
6565
pv: basePV,
6666
expectModifyCall: false,
6767
expectedModifyVolumeStatus: &v1.ModifyVolumeStatus{
68-
TargetVolumeAttributesClassName: testVac,
68+
TargetVolumeAttributesClassName: targetVac,
6969
Status: v1.PersistentVolumeClaimModifyVolumePending,
7070
},
7171
expectedCurrentVolumeAttributesClassName: &testVac,

0 commit comments

Comments
 (0)