Merge pull request #126108 from gnufied/changes-volume-recovery

Reduce state changes when expansion fails and mark certain failures as infeasible
This commit is contained in:
Kubernetes Prow Robot
2024-07-23 13:30:56 -07:00
committed by GitHub
20 changed files with 514 additions and 84 deletions

View File

@@ -498,7 +498,7 @@ func TestDropDisabledFieldsFromStatus(t *testing.T) {
name: "for:newPVC=hasResizeStatus,oldPVC=nil, featuregate=false should drop field",
enableRecoverVolumeExpansionFailure: false,
enableVolumeAttributesClass: false,
pvc: withResizeStatus(core.PersistentVolumeClaimNodeResizeFailed),
pvc: withResizeStatus(core.PersistentVolumeClaimNodeResizeInfeasible),
oldPVC: nil,
expected: getPVC(),
},
@@ -506,25 +506,25 @@ func TestDropDisabledFieldsFromStatus(t *testing.T) {
name: "for:newPVC=hasResizeStatus,oldPVC=doesnot,featuregate=RecoverVolumeExpansionFailure=true; should keep field",
enableRecoverVolumeExpansionFailure: true,
enableVolumeAttributesClass: false,
pvc: withResizeStatus(core.PersistentVolumeClaimNodeResizeFailed),
pvc: withResizeStatus(core.PersistentVolumeClaimNodeResizeInfeasible),
oldPVC: getPVC(),
expected: withResizeStatus(core.PersistentVolumeClaimNodeResizeFailed),
expected: withResizeStatus(core.PersistentVolumeClaimNodeResizeInfeasible),
},
{
name: "for:newPVC=hasResizeStatus,oldPVC=hasResizeStatus,featuregate=RecoverVolumeExpansionFailure=true; should keep field",
enableRecoverVolumeExpansionFailure: true,
enableVolumeAttributesClass: false,
pvc: withResizeStatus(core.PersistentVolumeClaimNodeResizeFailed),
oldPVC: withResizeStatus(core.PersistentVolumeClaimNodeResizeFailed),
expected: withResizeStatus(core.PersistentVolumeClaimNodeResizeFailed),
pvc: withResizeStatus(core.PersistentVolumeClaimNodeResizeInfeasible),
oldPVC: withResizeStatus(core.PersistentVolumeClaimNodeResizeInfeasible),
expected: withResizeStatus(core.PersistentVolumeClaimNodeResizeInfeasible),
},
{
name: "for:newPVC=hasResizeStatus,oldPVC=hasResizeStatus,featuregate=false; should keep field",
enableRecoverVolumeExpansionFailure: false,
enableVolumeAttributesClass: false,
pvc: withResizeStatus(core.PersistentVolumeClaimNodeResizeFailed),
oldPVC: withResizeStatus(core.PersistentVolumeClaimNodeResizeFailed),
expected: withResizeStatus(core.PersistentVolumeClaimNodeResizeFailed),
pvc: withResizeStatus(core.PersistentVolumeClaimNodeResizeInfeasible),
oldPVC: withResizeStatus(core.PersistentVolumeClaimNodeResizeInfeasible),
expected: withResizeStatus(core.PersistentVolumeClaimNodeResizeInfeasible),
},
{
name: "for:newPVC=hasVolumeAttributeClass,oldPVC=nil, featuregate=false should drop field",