Skip to content

Commit b294b33

Browse files
committed
Replace all occurence of older ResizeStatus
1 parent 2e6ca22 commit b294b33

File tree

1 file changed

+8
-7
lines changed
  • keps/sig-storage/1790-recover-resize-failure

1 file changed

+8
-7
lines changed

keps/sig-storage/1790-recover-resize-failure/README.md

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
- [Goals](#goals)
1010
- [Non-Goals](#non-goals)
1111
- [Proposal](#proposal)
12-
- [Making resizeStatus more general](#making-resizestatus-more-general)
12+
- [Making resizeStatus more general in v1.27](#making-resizestatus-more-general-in-v127)
1313
- [Implementation](#implementation)
1414
- [User flow stories](#user-flow-stories)
1515
- [Case 0 (default PVC creation):](#case-0-default-pvc-creation)
@@ -108,7 +108,7 @@ As part of this proposal, we are mainly proposing three changes:
108108
- NodeExpansionFailed // state set when expansion has failed in kubelet with a terminal error. Transient errors don't set NodeExpansionFailed.
109109
3. Update quota code to use `max(pvc.Spec.Resources, pvc.Status.AllocatedResources)` when evaluating usage for PVC.
110110

111-
### Making resizeStatus more general
111+
### Making resizeStatus more general in v1.27
112112

113113
After some discussion with sig-storage folks and to accommodate changes coming from https://github.com/kubernetes/enhancements/issues/3751 we are proposing that we rename `pvc.Status.ResizeStatus` to `pvc.Status.AllocatedResourceStatus` and make it a map.
114114

@@ -123,7 +123,7 @@ const (
123123

124124
PersistentVolumeClaimNodeResizePending ClaimResourceStatus = "NodeResizePending"
125125
PersistentVolumeClaimNodeResizeInProgress ClaimResourceStatus = "NodeResizeInProgress"
126-
PersistentVolumeClaimNodeResizeFailed ClaimResourceStatus = "NodeResizeFailed"
126+
PersistentVolumeClaimNodeResizeFailed ClaimResourceStatus = "NodeResizeFailed"
127127
)
128128

129129
// PersistentVolumeClaimStatus represents the status of PV claim
@@ -302,7 +302,7 @@ The complete expansion and recovery flow of both control-plane and kubelet is do
302302
so it should not break any of existing automation. This means that if `pvc.Status.AllocatedResources` is available it will be
303303
used for calculating quota.
304304

305-
To facilitate older kubelet - external resize controller will set `pvc.Status.ResizeStatus` to "''" after entire expansion process is complete. This will ensure that `ResizeStatus` is updated
305+
To facilitate older kubelet - external resize controller will set `pvc.Status.AllocatedResourceStatus[storage]` to "''" after entire expansion process is complete. This will ensure that `ResizeStatus` is updated
306306
after expansion is complete even with older kubelet. No recovery from expansion failure will be possible in this case and the workaround will be removed once feature goes GA.
307307

308308
One more thing to keep in mind is - enabling this feature in kubelet while keeping it disabled in external-resizer will cause
@@ -447,15 +447,15 @@ _This section must be completed when targeting beta graduation to a release._
447447
* **What are other known failure modes?**
448448
For each of them fill in the following information by copying the below template:
449449
- No recovery is possible if volume has been expanded on control-plane and only failing on node.
450-
- Detection: Expansion is stuck with `ResizeStatus` - `NodeResizePending` or `NodeResizeFailed`.
450+
- Detection: Expansion is stuck with `AllocatedResourceStatus[storage]` - `NodeResizePending` or `NodeResizeFailed`.
451451
- Mitigations: This should not affect any of existing PVCs but this was already broken in some sense and if volume has been
452452
expanded in control-plane then we can't allow users to shrink their PVCs because that would violate the quota.
453-
- Diagnostics: Expansion is stuck with `ResizeStatus` - `NodeResizePending` or `NodeResizeFailed`.
453+
- Diagnostics: Expansion is stuck with `AllocatedResourceStatus['storage']` - `NodeResizePending` or `NodeResizeFailed`.
454454
- Testing: There are some unit tests for this failure mode.
455455

456456
* **What steps should be taken if SLOs are not being met to determine the problem?**
457457
If admin notices an increase in expansion failure operations via aformentioned metrics or
458-
by observing `pvc.Status.ResizeStatus` then:
458+
by observing `pvc.Status.AllocatedResourceStatus['storage']` then:
459459
- Check events on the PVC and observe why is PVC expansion failing.
460460
- Gather logs from kubelet and external-resizer and check for problems.
461461

@@ -466,6 +466,7 @@ _This section must be completed when targeting beta graduation to a release._
466466
## Implementation History
467467

468468
- 2020-01-27 Initial KEP pull request submitted
469+
- 2023-02-03 Changing the APIs of `pvc.Status.ResizeStatus` by renaming it to `pvc.Status.AllocatedResourceStatus` and converting it to a map.
469470

470471
## Drawbacks
471472

0 commit comments

Comments
 (0)