You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: keps/sig-api-machinery/3716-admission-webhook-match-conditions/README.md
+59-21
Original file line number
Diff line number
Diff line change
@@ -54,10 +54,10 @@ Items marked with (R) are required *prior to targeting to a milestone / release*
54
54
-[ ] (R) Design details are appropriately documented
55
55
-[ ] (R) Test plan is in place, giving consideration to SIG Architecture and SIG Testing input (including test refactors)
56
56
-[ ] e2e Tests for all Beta API Operations (endpoints)
57
-
-[ ] (R) Ensure GA e2e tests for meet requirements for [Conformance Tests](https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/conformance-tests.md)
57
+
-[ ] (R) Ensure GA e2e tests for meet requirements for [Conformance Tests](https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/conformance-tests.md)
58
58
-[ ] (R) Minimum Two Week Window for GA e2e tests to prove flake free
59
59
-[ ] (R) Graduation criteria is in place
60
-
-[ ] (R) [all GA Endpoints](https://github.com/kubernetes/community/pull/1806) must be hit by [Conformance Tests](https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/conformance-tests.md)
60
+
-[ ] (R) [all GA Endpoints](https://github.com/kubernetes/community/pull/1806) must be hit by [Conformance Tests](https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/conformance-tests.md)
61
61
-[ ] (R) Production readiness review completed
62
62
-[ ] (R) Production readiness review approved
63
63
-[ ] "Implementation History" section is up-to-date for milestone
@@ -374,10 +374,8 @@ cases outlined above will be added.
374
374
375
375
- Add E2E test coverage
376
376
- Resolve resource constraints validation
377
-
378
-
<<[UNRESOLVED resource constraints ]>>
379
-
Additional beta requirements TBD
380
-
<<[/UNRESOLVED]>>
377
+
- Smart reload/recompile of Webhook Accessors, see [issue](https://github.com/kubernetes/kubernetes/issues/116588)
378
+
- ValidatingAdmissionPolicy is promoted to Beta.
381
379
382
380
#### GA
383
381
@@ -491,12 +489,15 @@ rollout. Similarly, consider large clusters and how enablement/disablement
491
489
will rollout across nodes.
492
490
-->
493
491
492
+
In general, rollout / rollback should not fail since the feature is not enabled by default.
493
+
However, there are risks on rollback if webhook preconditions was enabled and then unexpectedly
494
+
disabled on rollback.
495
+
494
496
###### What specific metrics should inform a rollback?
495
497
496
-
<!--
497
-
What signals should users be paying attention to when the feature is young
498
-
that might indicate a serious problem?
499
-
-->
498
+
-`webhook_admission_match_condition_evaluation_errors_total` is high
499
+
-`webhook_admission_match_condition_exclusions_total` is too high or too low
500
+
-`webhook_admission_match_condition_evaluation_seconds` is high
500
501
501
502
###### Were upgrade and rollback tested? Was the upgrade->downgrade->upgrade path tested?
502
503
@@ -506,12 +507,16 @@ Longer term, we may want to require automated upgrade/rollback tests, but we
506
507
are missing a bunch of machinery and tooling and can't do that now.
507
508
-->
508
509
510
+
Not yet, but manual testing should be completed and documented prior to beta.
511
+
509
512
###### Is the rollout accompanied by any deprecations and/or removals of features, APIs, fields of API types, flags, etc.?
510
513
511
514
<!--
512
515
Even if applying deprecation policies, they may still surprise some users.
513
516
-->
514
517
518
+
No.
519
+
515
520
### Monitoring Requirements
516
521
517
522
A new per-webhook metric will measure the number of requests excluded by match conditions:
@@ -537,6 +542,9 @@ checking if there are objects with field X set) may be a last resort. Avoid
537
542
logs or events for this purpose.
538
543
-->
539
544
545
+
The metric `webhook_admission_match_condition_exclusions_total` should indicate if the precondition
546
+
is used to exclude objects from invoking webhooks.
547
+
540
548
###### How can someone using this feature know that it is working for their instance?
541
549
542
550
<!--
@@ -548,13 +556,10 @@ and operation of this feature.
548
556
Recall that end users cannot usually observe component logs or access metrics.
549
557
-->
550
558
551
-
-[ ] Events
552
-
- Event Reason:
553
-
-[ ] API .status
554
-
- Condition name:
555
-
- Other field:
556
-
-[ ] Other (treat as last resort)
559
+
-[X] Other (treat as last resort)
557
560
- Details:
561
+
* Check the preconditions field in the webhook object and check the `webhook_admission_match_condition_exclusions_total` metric for exclusions
0 commit comments