Merge pull request #121902 from carlory/kep-3751-pv-controller

[kep-3751] pvc bind pv with vac
This commit is contained in:
Kubernetes Prow Robot
2024-07-23 11:02:13 -07:00
committed by GitHub
12 changed files with 534 additions and 37 deletions

View File

@@ -2399,7 +2399,9 @@ func ValidatePersistentVolumeClaimUpdate(newPvc, oldPvc *core.PersistentVolumeCl
newPvcClone.Spec.Resources.Requests["storage"] = oldPvc.Spec.Resources.Requests["storage"] // +k8s:verify-mutation:reason=clone
}
// lets make sure volume attributes class name is same.
newPvcClone.Spec.VolumeAttributesClassName = oldPvcClone.Spec.VolumeAttributesClassName // +k8s:verify-mutation:reason=clone
if newPvc.Status.Phase == core.ClaimBound && newPvcClone.Spec.VolumeAttributesClassName != nil {
newPvcClone.Spec.VolumeAttributesClassName = oldPvcClone.Spec.VolumeAttributesClassName // +k8s:verify-mutation:reason=clone
}
oldSize := oldPvc.Spec.Resources.Requests["storage"]
newSize := newPvc.Spec.Resources.Requests["storage"]

View File

@@ -3007,6 +3007,20 @@ func TestValidatePersistentVolumeClaimUpdate(t *testing.T) {
enableVolumeAttributesClass: true,
isExpectedFailure: true,
},
"invalid-update-volume-attributes-class-when-claim-not-bound": {
oldClaim: func() *core.PersistentVolumeClaim {
clone := validClaimVolumeAttributesClass1.DeepCopy()
clone.Status.Phase = core.ClaimPending
return clone
}(),
newClaim: func() *core.PersistentVolumeClaim {
clone := validClaimVolumeAttributesClass2.DeepCopy()
clone.Status.Phase = core.ClaimPending
return clone
}(),
enableVolumeAttributesClass: true,
isExpectedFailure: true,
},
"invalid-update-volume-attributes-class-to-nil-without-featuregate-enabled": {
oldClaim: validClaimVolumeAttributesClass1,
newClaim: validClaimNilVolumeAttributesClass,