YuniKorn Development: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
 
(15 intermediate revisions by the same user not shown)
Line 2: Line 2:
* 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
* GitHub yunikorn-k8shim https://github.com/ovidiuf/yunikorn-k8shim
* JIRA https://issues.apache.org/jira/projects/YUNIKORN/summary


=Internal=
=Internal=
Line 10: Line 11:
<font size=-2>
<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-k8shim yunikorn-k8shim]
 
 
[https://github.com/apache/yunikorn-web yunikorn-web]
[https://github.com/apache/yunikorn-release yunikorn-release]
yunikorn-site
</font>
</font>


Line 20: 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

Internal

Overview

yunikorn-scheduler-interfaceyunikorn-coreyunikorn-k8shim
 
yunikorn-web

yunikorn-release 

yunikorn-site

Development Environment Setup

https://yunikorn.apache.org/docs/next/developer_guide/env_setup/

Build and Run

https://yunikorn.apache.org/docs/next/developer_guide/build/

Debugger Setup

https://yunikorn.apache.org/docs/next/developer_guide/env_setup/#debug-code-locally

Packages

yunikorn-scheduler-interface

https://github.com/apache/yunikorn-scheduler-interface

yunikorn-k8shim

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 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.

Open Source Contributions