Mark NodeExpansion finsihed without featuregate check

This commit is contained in:
Hemant Kumar 2025-04-23 16:10:49 -04:00
parent 4370821c87
commit e4e7f313ff
2 changed files with 38 additions and 32 deletions

View File

@ -52,6 +52,7 @@ func TestNodeExpander(t *testing.T) {
name string name string
pvc *v1.PersistentVolumeClaim pvc *v1.PersistentVolumeClaim
pv *v1.PersistentVolume pv *v1.PersistentVolume
recoverVolumeExpansionFailure bool
// desired size, defaults to pv.Spec.Capacity // desired size, defaults to pv.Spec.Capacity
desiredSize *resource.Quantity desiredSize *resource.Quantity
@ -70,6 +71,7 @@ func TestNodeExpander(t *testing.T) {
name: "pv.spec.cap > pvc.status.cap, resizeStatus=node_expansion_failed", name: "pv.spec.cap > pvc.status.cap, resizeStatus=node_expansion_failed",
pvc: getTestPVC("test-vol0", "2G", "1G", "", &nodeResizeFailed), pvc: getTestPVC("test-vol0", "2G", "1G", "", &nodeResizeFailed),
pv: getTestPV("test-vol0", "2G"), pv: getTestPV("test-vol0", "2G"),
recoverVolumeExpansionFailure: true,
expectedResizeStatus: nodeResizeFailed, expectedResizeStatus: nodeResizeFailed,
expectResizeCall: false, expectResizeCall: false,
@ -81,6 +83,8 @@ func TestNodeExpander(t *testing.T) {
name: "pv.spec.cap > pvc.status.cap, resizeStatus=node_expansion_pending", name: "pv.spec.cap > pvc.status.cap, resizeStatus=node_expansion_pending",
pvc: getTestPVC("test-vol0", "2G", "1G", "2G", &nodeResizePending), pvc: getTestPVC("test-vol0", "2G", "1G", "2G", &nodeResizePending),
pv: getTestPV("test-vol0", "2G"), pv: getTestPV("test-vol0", "2G"),
recoverVolumeExpansionFailure: true,
expectedResizeStatus: "", expectedResizeStatus: "",
expectResizeCall: true, expectResizeCall: true,
assumeResizeOpAsFinished: true, assumeResizeOpAsFinished: true,
@ -91,6 +95,7 @@ func TestNodeExpander(t *testing.T) {
name: "pv.spec.cap > pvc.status.cap, resizeStatus=node_expansion_pending, reize_op=infeasible", name: "pv.spec.cap > pvc.status.cap, resizeStatus=node_expansion_pending, reize_op=infeasible",
pvc: getTestPVC(volumetesting.InfeasibleNodeExpansion, "2G", "1G", "2G", &nodeResizePending), pvc: getTestPVC(volumetesting.InfeasibleNodeExpansion, "2G", "1G", "2G", &nodeResizePending),
pv: getTestPV(volumetesting.InfeasibleNodeExpansion, "2G"), pv: getTestPV(volumetesting.InfeasibleNodeExpansion, "2G"),
recoverVolumeExpansionFailure: false,
expectError: true, expectError: true,
expectedResizeStatus: nodeResizeFailed, expectedResizeStatus: nodeResizeFailed,
expectResizeCall: true, expectResizeCall: true,
@ -102,6 +107,7 @@ func TestNodeExpander(t *testing.T) {
name: "pv.spec.cap > pvc.status.cap, resizeStatus=node_expansion_pending, reize_op=failing", name: "pv.spec.cap > pvc.status.cap, resizeStatus=node_expansion_pending, reize_op=failing",
pvc: getTestPVC(volumetesting.OtherFinalNodeExpansionError, "2G", "1G", "2G", &nodeResizePending), pvc: getTestPVC(volumetesting.OtherFinalNodeExpansionError, "2G", "1G", "2G", &nodeResizePending),
pv: getTestPV(volumetesting.OtherFinalNodeExpansionError, "2G"), pv: getTestPV(volumetesting.OtherFinalNodeExpansionError, "2G"),
recoverVolumeExpansionFailure: true,
expectError: true, expectError: true,
expectedResizeStatus: v1.PersistentVolumeClaimNodeResizeInProgress, expectedResizeStatus: v1.PersistentVolumeClaimNodeResizeInProgress,
expectResizeCall: true, expectResizeCall: true,
@ -110,9 +116,10 @@ func TestNodeExpander(t *testing.T) {
expectedStatusSize: resource.MustParse("1G"), expectedStatusSize: resource.MustParse("1G"),
}, },
{ {
name: "pv.spec.cap = pvc.status.cap, resizeStatus='', desiredSize > actualSize", name: "pv.spec.cap > pvc.status.cap, resizeStatus=node_expansion_pending, featuregate=disabled",
pvc: getTestPVC("test-vol0", "2G", "2G", "2G", nil), pvc: getTestPVC("test-vol0", "2G", "1G", "2G", &nodeResizePending),
pv: getTestPV("test-vol0", "2G"), pv: getTestPV("test-vol0", "2G"),
recoverVolumeExpansionFailure: false,
expectedResizeStatus: "", expectedResizeStatus: "",
expectResizeCall: true, expectResizeCall: true,
@ -125,7 +132,7 @@ func TestNodeExpander(t *testing.T) {
for i := range tests { for i := range tests {
test := tests[i] test := tests[i]
t.Run(test.name, func(t *testing.T) { t.Run(test.name, func(t *testing.T) {
featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.RecoverVolumeExpansionFailure, true) featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.RecoverVolumeExpansionFailure, test.recoverVolumeExpansionFailure)
volumePluginMgr, fakePlugin := volumetesting.GetTestKubeletVolumePluginMgr(t) volumePluginMgr, fakePlugin := volumetesting.GetTestKubeletVolumePluginMgr(t)
pvc := test.pvc pvc := test.pvc

View File

@ -244,7 +244,6 @@ func MarkNodeExpansionFinishedWithRecovery(
newPVC.Status.Capacity[v1.ResourceStorage] = newSize newPVC.Status.Capacity[v1.ResourceStorage] = newSize
// if RecoverVolumeExpansionFailure is enabled, we need to reset ResizeStatus back to nil
allocatedResourceStatusMap := newPVC.Status.AllocatedResourceStatuses allocatedResourceStatusMap := newPVC.Status.AllocatedResourceStatuses
delete(allocatedResourceStatusMap, v1.ResourceStorage) delete(allocatedResourceStatusMap, v1.ResourceStorage)
if len(allocatedResourceStatusMap) == 0 { if len(allocatedResourceStatusMap) == 0 {