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]

Reply via email to