25
25
- [ Integration tests] ( #integration-tests )
26
26
- [ e2e tests] ( #e2e-tests )
27
27
- [ Graduation Criteria] ( #graduation-criteria )
28
- - [ Alpha] ( #alpha )
29
28
- [ Beta] ( #beta )
30
29
- [ GA] ( #ga )
31
30
- [ Upgrade / Downgrade Strategy] ( #upgrade--downgrade-strategy )
@@ -355,24 +354,17 @@ in back-to-back releases.
355
354
- Address feedback on usage/changed behavior, provided on GitHub issues
356
355
- Deprecate the flag
357
356
-->
358
- #### Alpha
357
+ #### Beta
359
358
360
359
- Feature implemented behind a feature flag
361
360
- Initial e2e tests completed and enabled
362
-
363
- #### Beta
364
-
365
- - Gather feedback from developers and surveys
366
361
- Complete features specified in the KEP
367
362
- Proper metrics added
368
363
- Additional tests are in Testgrid and linked in KEP
369
364
370
365
#### GA
371
366
372
- - N examples of real-world usage
373
- - N installs
374
- - More rigorous forms of testing—e.g., downgrade tests and scalability tests
375
- - Allowing time for feedback
367
+ - Related [ CVE] ( https://github.com/kubernetes/kubernetes/issues/126587 ) has been mitigated
376
368
- Conformance tests
377
369
378
370
** Note:** Generally we also wait at least two releases between beta and
@@ -451,13 +443,15 @@ feature flags will be enabled on some API servers and not others during the
451
443
rollout. Similarly, consider large clusters and how enablement/disablement
452
444
will rollout across nodes.
453
445
-->
446
+ This feature should not impact rollout.
454
447
455
448
###### What specific metrics should inform a rollback?
456
449
457
450
<!--
458
451
What signals should users be paying attention to when the feature is young
459
452
that might indicate a serious problem?
460
453
-->
454
+ N/A
461
455
462
456
###### Were upgrade and rollback tested? Was the upgrade->downgrade->upgrade path tested?
463
457
@@ -466,12 +460,14 @@ Describe manual testing that was done and the outcomes.
466
460
Longer term, we may want to require automated upgrade/rollback tests, but we
467
461
are missing a bunch of machinery and tooling and can't do that now.
468
462
-->
463
+ N/A
469
464
470
465
###### Is the rollout accompanied by any deprecations and/or removals of features, APIs, fields of API types, flags, etc.?
471
466
472
467
<!--
473
468
Even if applying deprecation policies, they may still surprise some users.
474
469
-->
470
+ No.
475
471
476
472
### Monitoring Requirements
477
473
@@ -489,6 +485,7 @@ Ideally, this should be a metric. Operations against the Kubernetes API (e.g.,
489
485
checking if there are objects with field X set) may be a last resort. Avoid
490
486
logs or events for this purpose.
491
487
-->
488
+ Check if the feature gate is enabled. The feature is a security fix which should not be user detectable.
492
489
493
490
###### How can someone using this feature know that it is working for their instance?
494
491
@@ -501,13 +498,7 @@ and operation of this feature.
501
498
Recall that end users cannot usually observe component logs or access metrics.
502
499
-->
503
500
504
- - [ ] Events
505
- - Event Reason:
506
- - [ ] API .status
507
- - Condition name:
508
- - Other field:
509
- - [ ] Other (treat as last resort)
510
- - Details:
501
+ N/A
511
502
512
503
###### What are the reasonable SLOs (Service Level Objectives) for the enhancement?
513
504
@@ -525,26 +516,22 @@ high level (needs more precise definitions) those may be things like:
525
516
These goals will help you determine what you need to measure (SLIs) in the next
526
517
question.
527
518
-->
519
+ The feature only affect namespace deletion and should not affect existing SLOs.
528
520
529
521
###### What are the SLIs (Service Level Indicators) an operator can use to determine the health of the service?
530
522
531
523
<!--
532
524
Pick one more of these and delete the rest.
533
525
-->
534
-
535
- - [ ] Metrics
536
- - Metric name:
537
- - [ Optional] Aggregation method:
538
- - Components exposing the metric:
539
- - [ ] Other (treat as last resort)
540
- - Details:
526
+ The error or blocker will be updated to namespace status subresource to follow the existing pattern.
541
527
542
528
###### Are there any missing metrics that would be useful to have to improve observability of this feature?
543
529
544
530
<!--
545
531
Describe the metrics themselves and the reasons why they weren't added (e.g., cost,
546
532
implementation difficulties, etc.).
547
533
-->
534
+ Namespace status will be used to capture the possible error or blockers while deletion.
548
535
549
536
### Dependencies
550
537
@@ -568,7 +555,7 @@ and creating new ones, as well as about cluster-level services (e.g. DNS):
568
555
- Impact of its outage on the feature:
569
556
- Impact of its degraded performance or high-error rates on the feature:
570
557
-->
571
-
558
+ No.
572
559
### Scalability
573
560
574
561
<!--
@@ -595,6 +582,7 @@ Focusing mostly on:
595
582
- periodic API calls to reconcile state (e.g. periodic fetching state,
596
583
heartbeats, leader election, etc.)
597
584
-->
585
+ No.
598
586
599
587
###### Will enabling / using this feature result in introducing new API types?
600
588
@@ -604,15 +592,15 @@ Describe them, providing:
604
592
- Supported number of objects per cluster
605
593
- Supported number of objects per namespace (for namespace-scoped objects)
606
594
-->
607
-
595
+ No.
608
596
###### Will enabling / using this feature result in any new calls to the cloud provider?
609
597
610
598
<!--
611
599
Describe them, providing:
612
600
- Which API(s):
613
601
- Estimated increase:
614
602
-->
615
-
603
+ No.
616
604
###### Will enabling / using this feature result in increasing size or count of the existing API objects?
617
605
618
606
<!--
@@ -621,7 +609,7 @@ Describe them, providing:
621
609
- Estimated increase in size: (e.g., new annotation of size 32B)
622
610
- Estimated amount of new objects: (e.g., new Object X for every existing Pod)
623
611
-->
624
-
612
+ No.
625
613
###### Will enabling / using this feature result in increasing time taken by any operations covered by existing SLIs/SLOs?
626
614
627
615
<!--
@@ -632,7 +620,7 @@ Think about adding additional work or introducing new steps in between
632
620
633
621
[existing SLIs/SLOs]: https://git.k8s.io/community/sig-scalability/slos/slos.md#kubernetes-slisslos
634
622
-->
635
-
623
+ No.
636
624
###### Will enabling / using this feature result in non-negligible increase of resource usage (CPU, RAM, disk, IO, ...) in any components?
637
625
638
626
<!--
@@ -644,7 +632,7 @@ This through this both in small and large cases, again with respect to the
644
632
645
633
[supported limits]: https://git.k8s.io/community//sig-scalability/configs-and-limits/thresholds.md
646
634
-->
647
-
635
+ No.
648
636
###### Can enabling / using this feature result in resource exhaustion of some node resources (PIDs, sockets, inodes, etc.)?
649
637
650
638
<!--
@@ -656,7 +644,7 @@ If any of the resources can be exhausted, how this is mitigated with the existin
656
644
Are there any tests that were run/should be run to understand performance characteristics better
657
645
and validate the declared limits?
658
646
-->
659
-
647
+ No.
660
648
### Troubleshooting
661
649
662
650
<!--
@@ -671,7 +659,7 @@ details). For now, we leave it here.
671
659
-->
672
660
673
661
###### How does this feature react if the API server and/or etcd is unavailable?
674
-
662
+ The namespace controller will act exactly the same with/without this feature.
675
663
###### What are other known failure modes?
676
664
677
665
<!--
@@ -686,9 +674,9 @@ For each of them, fill in the following information by copying the below templat
686
674
Not required until feature graduated to beta.
687
675
- Testing: Are there any tests for failure mode? If not, describe why.
688
676
-->
689
-
677
+ Namespace deletion might hang if pod resources deletion running into issues with the feature gate enabled.
690
678
###### What steps should be taken if SLOs are not being met to determine the problem?
691
-
679
+ Delete the blocking resources manually.
692
680
## Implementation History
693
681
694
682
<!--
0 commit comments