@@ -18,10 +18,12 @@ package modifycontroller
1818
1919import (
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 }
0 commit comments