@@ -243,6 +243,10 @@ the scheduler queue.
243
243
framework instance from the registry corresponding to the specified scheduler
244
244
name.
245
245
246
+ Note that all framework instances will make use of the same shared cache
247
+ (for nodes and pods), from which a snapshot is taken for each scheduling cycle.
248
+ This is the main advantage over running multiple schedulers in a cluster.
249
+
246
250
# ## Risks and Mitigations
247
251
248
252
Operators could introduce profiles that disable scheduling features exposed in
@@ -259,24 +263,24 @@ the scheduler documentation.
259
263
260
264
The following tests need to be in place :
261
265
262
- # ### For Alpha
263
-
264
- - **Unit Tests**: For Component Config API conversion, validation and defaults, core scheduler and
265
- scheduler instantiation. Current tests that use a default scheduler (or default framework) should
266
- continue passing with no configuration changes.
266
+ - **Unit Tests**:
267
+ - Component Config API conversion, validation and defaults
268
+ - Core scheduler implementation. Current tests that use a default scheduler
269
+ (or default framework) should continue passing with no configuration changes.
267
270
- **Integration tests**: Current tests with a default scheduler should continue passing with no
268
271
configuration changes. We need new tests in `test/integration/scheduler` exercising more than one
269
272
profile, in which :
270
273
- Each profile would favor specific nodes, so that we can verify assignment.
271
274
- Pods get binding events for the selected scheduler name.
272
275
- Pods that don't specify a scheduler name continue to be scheduled by the default profile.
273
276
277
+ *Note on E2E tests*
274
278
275
- # ### For Beta
276
-
277
- - **E2E tests**: A representative case from Integration tests will be replicated as E2E,
278
- to live in ` test/e2e/scheduling`. To exercise the custom configuration, we need to set up a new
279
- job in `k8s.io/test-infra/config/jobs/kubernetes/sig-scheduling` .
279
+ Due to the proposed architecture, where a single kube-scheduler binary runs all the profiles, E2E
280
+ tests wouldn't increase the coverage of this feature over unit and integration tests.
281
+ Additionally, profiles can only be provided statically during cluster creation with our current
282
+ test infra. This implies that an independent job would be needed for each scheduler configuration.
283
+ But, as stated in our goals, this KEP doesn't introduce new default profiles .
280
284
281
285
# ## Graduation Criteria
282
286
0 commit comments