YuniKorn Development: Difference between revisions
Jump to navigation
Jump to search
(→Status) |
|||
(18 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
=External= | =External= | ||
* GitHub yunikorn-core https://github.com/apache/yunikorn-core | * GitHub yunikorn-core https://github.com/apache/yunikorn-core | ||
* GitHub yunikorn-k8shim https://github.com/ovidiuf/yunikorn-k8shim | |||
* JIRA https://issues.apache.org/jira/projects/YUNIKORN/summary | |||
=Internal= | =Internal= | ||
* [[YuniKorn#Subjects| YuniKorn]] | * [[YuniKorn#Subjects| YuniKorn]] | ||
=Overview= | |||
<font size=-2> | |||
[https://github.com/apache/yunikorn-scheduler-interface yunikorn-scheduler-interface] | |||
↑ | |||
[https://github.com/apache/yunikorn-core yunikorn-core] | |||
↑ | |||
[https://github.com/apache/yunikorn-k8shim yunikorn-k8shim] | |||
[https://github.com/apache/yunikorn-web yunikorn-web] | |||
[https://github.com/apache/yunikorn-release yunikorn-release] | |||
yunikorn-site | |||
</font> | |||
=Development Environment Setup= | =Development Environment Setup= | ||
{{External|https://yunikorn.apache.org/docs/next/developer_guide/env_setup/}} | {{External|https://yunikorn.apache.org/docs/next/developer_guide/env_setup/}} | ||
Line 8: | Line 29: | ||
=Build and Run= | =Build and Run= | ||
{{External|https://yunikorn.apache.org/docs/next/developer_guide/build/}} | {{External|https://yunikorn.apache.org/docs/next/developer_guide/build/}} | ||
=Debugger Setup= | |||
{{External|https://yunikorn.apache.org/docs/next/developer_guide/env_setup/#debug-code-locally}} | |||
=Packages= | |||
==<tt>yunikorn-scheduler-interface</tt>== | |||
{{External|https://github.com/apache/yunikorn-scheduler-interface}} | |||
==<tt></tt>== | |||
==<tt>yunikorn-k8shim</tt>== | |||
{{External|https://github.com/apache/yunikorn-k8shim}} | |||
===Implementation Notes=== | |||
* After a "task" allocation ask is successfully handled by the core scheduler and a node is found for it, the actual binding of the Kubernetes Pod to Node is handled in <code>cache.Task#postTaskAllocated()</code>.The binding is done by: | |||
<syntaxhighlight lang='go'> | |||
... | |||
task.context.apiProvider.GetAPIs().KubeClient.Bind(task.pod, task.nodeName) | |||
... | |||
</syntaxhighlight> | |||
==<tt></tt>== | |||
==<tt></tt>== | |||
=Status= | |||
The attempt to build the executable on Mac and cross-compile for linux/amd64 produced an executable that yields: | |||
<font size=-2> | |||
exec /yunikorn-scheduler: no such file or directory | |||
</font> | |||
in the container. Probably the format is not correct. | |||
=Open Source Contributions= |
Latest revision as of 21:25, 16 January 2024
External
- GitHub yunikorn-core https://github.com/apache/yunikorn-core
- GitHub yunikorn-k8shim https://github.com/ovidiuf/yunikorn-k8shim
- JIRA https://issues.apache.org/jira/projects/YUNIKORN/summary
Internal
Overview
yunikorn-scheduler-interface ↑ yunikorn-core ↑ yunikorn-k8shim yunikorn-web yunikorn-release yunikorn-site
Development Environment Setup
Build and Run
Debugger Setup
Packages
yunikorn-scheduler-interface
yunikorn-k8shim
Implementation Notes
- After a "task" allocation ask is successfully handled by the core scheduler and a node is found for it, the actual binding of the Kubernetes Pod to Node is handled in
cache.Task#postTaskAllocated()
.The binding is done by:
...
task.context.apiProvider.GetAPIs().KubeClient.Bind(task.pod, task.nodeName)
...
Status
The attempt to build the executable on Mac and cross-compile for linux/amd64 produced an executable that yields:
exec /yunikorn-scheduler: no such file or directory
in the container. Probably the format is not correct.