Skip to content

Commit 2b0bb31

Browse files
committed
Update to address pr00se and raywainman comments/suggestions.
1 parent 2c8614b commit 2b0bb31

File tree

2 files changed

+27
-5
lines changed

2 files changed

+27
-5
lines changed

keps/sig-autoscaling/4951-configurable-hpa-tolerance/README.md

Lines changed: 24 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -309,7 +309,8 @@ This can inform certain test coverage improvements that we want to do before
309309
extending the production code to implement this enhancement.
310310
-->
311311

312-
- `<package>`: `<date>` - `<test coverage>`
312+
- `/apis/autoscaling/validation`: `2024-11-13` - `95.6`
313+
- `/pkg/controller/podautoscaler`: `2024-11-13` - `96.4`
313314

314315
##### Integration tests
315316

@@ -342,7 +343,14 @@ https://storage.googleapis.com/k8s-triage/index.html
342343
We expect no non-infra related flakes in the last month as a GA graduation criteria.
343344
-->
344345

345-
- <test>: <link to test coverage>
346+
We will add the follow [e2e autoscaling tests]:
347+
348+
- For both scale up and scale down:
349+
- Workload does not scale because the metric ratio is in tolerance.
350+
- Workload scales successfully because the metric ratio is out of tolerance.
351+
- Autoscaling uses the default when no tolerances are set.
352+
353+
[e2e autoscaling tests]: https://github.com/kubernetes/kubernetes/tree/master/test/e2e/autoscaling
346354

347355
### Graduation Criteria
348356

@@ -408,6 +416,11 @@ in back-to-back releases.
408416
- Deprecate the flag
409417
-->
410418

419+
#### Alpha
420+
421+
- Feature implemented behind a `HPAConfigurableTolerance` feature flag
422+
- Initial e2e tests completed and enabled
423+
411424
### Upgrade / Downgrade Strategy
412425

413426
Upgrades present no particular issue: the new field won't be set and the HPA
@@ -420,8 +433,11 @@ ignore any configured `tolerance` field, and use the default (as specified by
420433

421434
### Version Skew Strategy
422435

423-
This feature is entirely implemented in the horizontal autoscaling controller
424-
and does not introduce any changes that would be impacted by version skews.
436+
1. `kube-apiserver`: More recent instances will accept the new 'tolerance'
437+
field, while older will ignore it.
438+
2. `kube-controller-manager`: An older version could receive an HPA containing
439+
the new `tolerance` field from a more recent API server, in which case it
440+
would ignore it (i.e. scale as if it was not present).
425441

426442
## Production Readiness Review Questionnaire
427443

@@ -700,6 +716,10 @@ Describe them, providing:
700716
- Estimated amount of new objects: (e.g., new Object X for every existing Pod)
701717
-->
702718

719+
- This feature adds two new optional integer fields to `HorizontalPodAutoscaler`
720+
`v2` objects. Users should expect this object to increase in size (5 bytes)
721+
each time they set this new field.
722+
703723
###### Will enabling / using this feature result in increasing time taken by any operations covered by existing SLIs/SLOs?
704724

705725
<!--

keps/sig-autoscaling/4951-configurable-hpa-tolerance/kep.yaml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@ owning-sig: sig-autoscaling
77
status: provisional
88
creation-date: 2024-11-05
99
reviewers:
10-
- TBD
10+
- "@gjtempleton"
11+
- "@raywainman"
1112
approvers:
1213
- TBD
1314

@@ -35,6 +36,7 @@ feature-gates:
3536
- name: HPAConfigurableTolerance
3637
components:
3738
- kube-apiserver
39+
- kube-controller-manager
3840
disable-supported: true
3941

4042
# The following PRR answers are required at beta release

0 commit comments

Comments
 (0)