Skip to content

Commit f28f38b

Browse files
authored
Merge pull request #510 from huww98/status-target
always overwrite TargetVolumeAttributesClassName when setting Status
2 parents db266dd + 6c8c10f commit f28f38b

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)