-
Feature
-
Resolution: Unresolved
-
Major
-
None
-
None
Feature Overview (aka. Goal Summary)
A user may expand a PersistentVolumeClaim(PVC) to a size which may not be supported by underlying storage provider. In which case - typically expansion controller forever tries to expand the volume and keeps failing. We want to make it easier for users to recover from expansion failures, so that user can retry volume expansion with values that may succeed.
Feature is beta upstream but since it's enabled by default and API has been stable for a couple of releases we are promoting this feature GA in OCP.
Goals (aka. expected user outcomes)
Allow users to specify a new volume size in case the initial resize failed.
Users can set a smaller size by updating pvc.spec.resources.requests["storage"]
Requirements (aka. Acceptance Criteria):
Promoted beta upstream + downstream CI
Anyone reviewing this Feature needs to know which deployment configurations that the Feature will apply to (or not) once it's been completed. Describe specific needs (or indicate N/A) for each of the following deployment scenarios. For specific configurations that are out-of-scope for a given release, ensure you provide the OCPSTRAT (for the future to be supported configuration) as well.
Deployment considerations | List applicable specific needs (N/A = not applicable) |
Self-managed, managed, or both | both |
Classic (standalone cluster) | yes |
Hosted control planes | yes |
Multi node, Compact (three node), or Single node (SNO), or all | all |
Connected / Restricted Network | all |
Architectures, e.g. x86_x64, ARM (aarch64), IBM Power (ppc64le), and IBM Z (s390x) | all |
Operator compatibility | |
Backport needed (list applicable versions) | no |
UI need (e.g. OpenShift Console, dynamic plugin, OCM) | |
Other (please specify) |
Use Cases (Optional):
- Allow users to cancel previously issued volume expansion requests, assuming they are not yet successful or have failed.
- Allow users to retry expansion request with smaller value than original requested size in pvc.Spec.Resources, assuming previous requests are not yet successful or have failed
Questions to Answer (Optional):
Should we promote this GA in OCP while it is beta upstream.
Out of Scope
Shrinking the volume to a lower value than the initial size value.
Background
Expand volume size is a fairly used feature, users can't know in advance if there expansion request will succeed. The current behavior where the expansion controller keeps trying indefinitely is not acceptable and we need a way to let user cancel/retry with a smaller size.
Customer Considerations
Quota is not updated with the resized value
Documentation Considerations
Explain how to reset a target expansion value when a resize fails. Add this in the resize doc section
Document the quotas behavior?
Interoperability Considerations
N/A no driver dependent.