Peter Bacsko created YUNIKORN-1740:
--------------------------------------
Summary: MockScheduler improvements
Key: YUNIKORN-1740
URL: https://issues.apache.org/jira/browse/YUNIKORN-1740
Project: Apache YuniKorn
Issue Type: Improvement
Components: shim - kubernetes, test - unit
Reporter: Peter Bacsko
With the {{MockScheduler}} object, it's possible to test Yunikorn as a whole
without having an actual Kubernetes cluster.
Currently, there are some limitations of {{{}MockScheduler{}}}. For example:
* adding node only updates the core, not the shim
* recovery is not tested (ignored because of {{APIProvider.IsTestingMode()}}
* predicates are not called (ignored because of {{APIProvider.IsTestingMode()}}
However, it's possible to update the logic in such a way that we can simulate
the entire code path for the lifecycle of an application:
* New {{*v1.Pod}} object -> shim -> core -> allocation
* allocation -> create SI object -> shim -> bind Pod
* Running state: updated {{*v1.Pod}} -> shim -> process pod object in the cache
* Completed/Failed state updated {{*v1.Pod}} -> shim > process pod object in
the cache -> core -> update application state
* {{*v1.Node}} object -> shim -> update cache -> core -> node&cluster update
This can also gives us a possibility to check the performance of Yunikorn and
collect CPU&heap samples. This will not a replacement of a real performance
test, but with a proper test case, we can quickly do a rough assessment of
performance/memory usage related changes.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]