Skip to content

Commit ead3e26

Browse files
Remove E2E from Test Plan and clarify shared cache
Signed-off-by: Aldo Culquicondor <[email protected]>
1 parent 180db85 commit ead3e26

File tree

1 file changed

+15
-13
lines changed

1 file changed

+15
-13
lines changed

keps/sig-scheduling/20200114-multi-scheduling-profiles.md

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,6 @@ see-also:
4141
- [Risks and Mitigations](#risks-and-mitigations)
4242
- [Design Details](#design-details)
4343
- [Test Plan](#test-plan)
44-
- [For Alpha](#for-alpha)
45-
- [For Beta](#for-beta)
4644
- [Graduation Criteria](#graduation-criteria)
4745
- [Alpha (v1.18):](#alpha-v118)
4846
- [Implementation History](#implementation-history)
@@ -160,7 +158,7 @@ type KubeSchedulerProfile struct {
160158
}
161159
```
162160

163-
Note that we remove `AlgorithmSource` from the new API. It's functionality becomes redundant to
161+
Note that we remove `AlgorithmSource` from the new API. Its functionality becomes redundant to
164162
what can be configured with `Plugins` and `PluginConfig`.
165163

166164
##### Conversion between API versions
@@ -243,6 +241,10 @@ the scheduler queue.
243241
framework instance from the registry corresponding to the specified scheduler
244242
name.
245243

244+
Note that all framework instances will make use of the same shared cache
245+
(for nodes and pods), from which a snapshot is taken for each scheduling cycle.
246+
This is the main advantage over running multiple schedulers in a cluster.
247+
246248
### Risks and Mitigations
247249

248250
Operators could introduce profiles that disable scheduling features exposed in
@@ -259,24 +261,24 @@ the scheduler documentation.
259261

260262
The following tests need to be in place:
261263

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.
264+
- **Unit Tests**:
265+
- Component Config API conversion, validation and defaults
266+
- Core scheduler implementation. Current tests that use a default scheduler
267+
(or default framework) should continue passing with no configuration changes.
267268
- **Integration tests**: Current tests with a default scheduler should continue passing with no
268269
configuration changes. We need new tests in `test/integration/scheduler` exercising more than one
269270
profile, in which:
270271
- Each profile would favor specific nodes, so that we can verify assignment.
271272
- Pods get binding events for the selected scheduler name.
272273
- Pods that don't specify a scheduler name continue to be scheduled by the default profile.
273274

275+
*Note on E2E tests*
274276

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`.
277+
Due to the proposed architecture, where a single kube-scheduler binary runs all the profiles, E2E
278+
tests wouldn't increase the coverage of this feature over unit and integration tests.
279+
Additionally, profiles can only be provided statically during cluster creation with our current
280+
test infra. This implies that an independent job would be needed for each scheduler configuration.
281+
But, as stated in our goals, this KEP doesn't introduce new default profiles.
280282

281283
### Graduation Criteria
282284

0 commit comments

Comments
 (0)