pvc bind pv with vac

This commit is contained in:
carlory
2023-11-15 17:20:58 +08:00
parent 2ad04a0505
commit 3a6a4830df
12 changed files with 534 additions and 37 deletions

View File

@@ -2391,7 +2391,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,