@@ -521,10 +521,10 @@ The following scenarios need to be covered in integration tests:
521
521
can be moved back to activeQ when ` .spec.schedulingGates ` is all cleared
522
522
- Ensure no significant performance degradation
523
523
524
- - ` test/integration/scheduler/queue_test.go ` : Will add new tests .
525
- - ` test/integration/scheduler/plugins/plugins_test.go ` : Will add new tests .
526
- - ` test/integration/scheduler/enqueue/enqueue_test.go ` : Will add new tests .
527
- - ` test/integration/scheduler_perf/scheduler_perf_test.go ` : https://storage.googleapis.com/k8s-triage/index.html?test=BenchmarkPerfScheduling
524
+ - ` test/integration/scheduler/queue_test.go ` : added in Alpha .
525
+ - ` test/integration/scheduler/plugins/plugins_test.go ` : added in Alpha .
526
+ - ` test/integration/scheduler/enqueue/enqueue_test.go ` : added in Alpha .
527
+ - ` test/integration/scheduler_perf/scheduler_perf_test.go ` : will add in Beta. ( https://storage.googleapis.com/k8s-triage/index.html?test=BenchmarkPerfScheduling )
528
528
529
529
##### e2e tests
530
530
@@ -538,10 +538,8 @@ https://storage.googleapis.com/k8s-triage/index.html
538
538
We expect no non-infra related flakes in the last month as a GA graduation criteria.
539
539
-->
540
540
541
- Create a test with the following sequences:
541
+ An e2e test was created in Alpha with the following sequences:
542
542
543
- - Provision a cluster with feature gate ` PodSchedulingReadiness=true ` (we may need to setup a testgrid
544
- for when it's alpha)
545
543
- Create a Pod with non-nil ` .spec.schedulingGates ` .
546
544
- Wait for 15 seconds to ensure (and then verify) it did not get scheduled.
547
545
- Clear the Pod's ` .spec.schedulingGates ` field.
@@ -790,6 +788,12 @@ rollout. Similarly, consider large clusters and how enablement/disablement
790
788
will rollout across nodes.
791
789
-->
792
790
791
+ It shouldn't impact already running workloads. It's an opt-in feature, and users need to set
792
+ ` .spec.schedulingGates ` field to use this feature.
793
+
794
+ When this feature is disabled by the feature flag, the already created Pod's ` .spec.schedulingGates `
795
+ field is preserved, however, the newly created Pod's ` .spec.schedulingGates ` field is silently dropped.
796
+
793
797
###### What specific metrics should inform a rollback?
794
798
795
799
<!--
@@ -878,7 +882,7 @@ Recall that end users cannot usually observe component logs or access metrics.
878
882
- [x] Events
879
883
- Event Type: PodScheduled
880
884
- Event Status: False
881
- - Event Reason: WaitingForGates SchedulingGated
885
+ - Event Reason: SchedulingGated
882
886
- Event Message: Scheduling is blocked due to non-empty scheduling gates
883
887
884
888
###### What are the reasonable SLOs (Service Level Objectives) for the enhancement?
@@ -1005,7 +1009,10 @@ Describe them, providing:
1005
1009
- Estimated amount of new objects: (e.g., new Object X for every existing Pod)
1006
1010
-->
1007
1011
1008
- No to existing API objects that doesn't use this feature.
1012
+ - No to existing API objects that doesn't use this feature.
1013
+ - For API objects that use this feature:
1014
+ - API type: Pod
1015
+ - Estimated increase in size: new field ` .spec.schedulingGates ` about ~ 64 bytes (in the case of 2 scheduling gates)
1009
1016
1010
1017
###### Will enabling / using this feature result in increasing time taken by any operations covered by existing SLIs/SLOs?
1011
1018
@@ -1018,7 +1025,7 @@ Think about adding additional work or introducing new steps in between
1018
1025
[existing SLIs/SLOs]: https://git.k8s.io/community/sig-scalability/slos/slos.md#kubernetes-slisslos
1019
1026
-->
1020
1027
1021
- No .
1028
+ This delay should be negligible .
1022
1029
1023
1030
###### Will enabling / using this feature result in non-negligible increase of resource usage (CPU, RAM, disk, IO, ...) in any components?
1024
1031
@@ -1049,7 +1056,11 @@ details). For now, we leave it here.
1049
1056
1050
1057
###### How does this feature react if the API server and/or etcd is unavailable?
1051
1058
1052
- Update/Patch requests will be rejected.
1059
+ During the downtime of API server and/or etcd:
1060
+
1061
+ - Running workloads that don't need to remove their scheduling gates function well.
1062
+ - Running workloads that need to update their scheduling gates will stay in scheduling gated state
1063
+ as API requests will be rejected.
1053
1064
1054
1065
###### What are other known failure modes?
1055
1066
0 commit comments