-
Notifications
You must be signed in to change notification settings - Fork 110
Add job order reflection plugin with HTTP endpoint #445
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
029a76f to
4ea94e3
Compare
enoodle
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good, I have two comments:
Merging this branch will increase overall coverage
Coverage by fileChanged files (no unit tests)
Please note that the "Total", "Covered", and "Missed" counts above refer to code statements instead of lines of code. The value in brackets refers to the test coverage of that file in the old version of the code. Changed unit test files
|
|
Hi Singh, |
Thank you @enoodle & @itsomri both of you for taking the time to review this PR 🙏 Also, @itsomri — could you please share the steps you used to test the plugin in a cluster? I’d like to try it out locally as well to verify the behaviour. |
b267c79 to
4e847fa
Compare
|
Hi, In order to test the plugin:
apiVersion: v1
data:
config.yaml: |
actions: allocate, consolidation, reclaim, preempt, stalegangeviction
tiers:
- plugins:
- name: predicates
- name: proportion
- name: priority
- name: nodeavailability
- name: resourcetype
- name: podaffinity
- name: elastic
- name: kubeflow
- name: ray
- name: subgrouporder
- name: taskorder
- name: nominatednode
- name: dynamicresources
- name: gpupack
- name: gpusharingorder
- name: snapshot
- name: nodeplacement
arguments:
cpu: binpack
gpu: binpack
- name: minruntime
- name: topology
- name: joborder
kind: ConfigMap
metadata:
annotations:
meta.helm.sh/release-name: kai-scheduler
meta.helm.sh/release-namespace: kai-scheduler
labels:
app: scheduler
app.kubernetes.io/managed-by: Helm
name: scheduler-config
namespace: kai-scheduler
kubectl port-forward -nkai-scheduler deploy/scheduler 8081
{
"global_order": [
{
"id": "pg-queue-3-batch-job-3-976dx-e0ab34e4-ce31-4517-89dc-770d4efd596a",
"priority": 50
},
{
"id": "pg-queue-3-batch-job-1-llsxz-26552a7e-f07a-4fc6-a190-61ff7401067c",
"priority": 50
},
{
"id": "pg-job2-team-b-raycluster-autoscaler-34cf2ca9-8d45-47dd-858d-db716a6e53ba",
"priority": 50
},
{
"id": "pg-queue-2-batch-job-3-7rkck-2151ce18-74d7-4dc6-8a04-bdaad28931fd",
"priority": 50
},
{
"id": "pg-queue-2-batch-job-4-29xvl-bc5c56ee-9b50-4175-a852-3b17d3fb2863",
"priority": 50
},
{
"id": "pg-queue-2-batch-job-1-jzwvq-d2863624-e1ce-4223-b239-a05792377f84",
"priority": 50
},
{
"id": "pg-queue-2-batch-job-2-pjgbd-9d1ac135-2645-47bb-af7d-de455a4d4559",
"priority": 50
},
{
"id": "pg-queue-1-batch-job-2-xrgl4-076bd691-a116-4836-bf15-a9db9c222233",
"priority": 50
},
{
"id": "pg-queue-1-batch-job-3-thb2v-3c8653a5-14eb-4686-8f32-61e80f0449bb",
"priority": 50
},
{
"id": "pg-queue-1-batch-job-4-6gkxh-c7e55805-1518-45a2-9029-ed0d574a525f",
"priority": 50
},
{
"id": "pg-queue-1-batch-job-1-zqjld-e98a352b-ca69-4e44-a8e5-a17c934aa946",
"priority": 50
}
],
"queue_order": {
"queue-1": [
{
"id": "pg-queue-1-batch-job-2-xrgl4-076bd691-a116-4836-bf15-a9db9c222233",
"priority": 50
},
{
"id": "pg-queue-1-batch-job-3-thb2v-3c8653a5-14eb-4686-8f32-61e80f0449bb",
"priority": 50
},
{
"id": "pg-queue-1-batch-job-4-6gkxh-c7e55805-1518-45a2-9029-ed0d574a525f",
"priority": 50
},
{
"id": "pg-queue-1-batch-job-1-zqjld-e98a352b-ca69-4e44-a8e5-a17c934aa946",
"priority": 50
}
],
"queue-2": [
{
"id": "pg-job2-team-b-raycluster-autoscaler-34cf2ca9-8d45-47dd-858d-db716a6e53ba",
"priority": 50
},
{
"id": "pg-queue-2-batch-job-3-7rkck-2151ce18-74d7-4dc6-8a04-bdaad28931fd",
"priority": 50
},
{
"id": "pg-queue-2-batch-job-4-29xvl-bc5c56ee-9b50-4175-a852-3b17d3fb2863",
"priority": 50
},
{
"id": "pg-queue-2-batch-job-1-jzwvq-d2863624-e1ce-4223-b239-a05792377f84",
"priority": 50
},
{
"id": "pg-queue-2-batch-job-2-pjgbd-9d1ac135-2645-47bb-af7d-de455a4d4559",
"priority": 50
}
],
"queue-3": [
{
"id": "pg-queue-3-batch-job-3-976dx-e0ab34e4-ce31-4517-89dc-770d4efd596a",
"priority": 50
},
{
"id": "pg-queue-3-batch-job-1-llsxz-26552a7e-f07a-4fc6-a190-61ff7401067c",
"priority": 50
}
]
}
} |
|
Looks like the order of imports in |
Thank you so much @itsomri for the testing guide steps, and sure, I'm fixing import ordering as well. 👍 |
Merging this branch will increase overall coverage
Coverage by fileChanged files (no unit tests)
Please note that the "Total", "Covered", and "Missed" counts above refer to code statements instead of lines of code. The value in brackets refers to the test coverage of that file in the old version of the code. Changed unit test files
|
Signed-off-by: Saurabh Kumar Singh <[email protected]>
Signed-off-by: Saurabh Kumar Singh <[email protected]>
Signed-off-by: Saurabh Kumar Singh <[email protected]>
Signed-off-by: Saurabh Kumar Singh <[email protected]>
Signed-off-by: Saurabh Kumar Singh <[email protected]>
0cbffd9 to
a817e9f
Compare
|
@singh1203 I took the liberty of rebasing and re-running the workflow - feel free to merge the PR when you're ready. |
Merging this branch will increase overall coverage
Coverage by fileChanged files (no unit tests)
Please note that the "Total", "Covered", and "Missed" counts above refer to code statements instead of lines of code. The value in brackets refers to the test coverage of that file in the old version of the code. Changed unit test files
|
|
Merged |
|
@itsomri Thank you for merging the PR; however, I did not have permission to merge the PR and hence could not do so. |
Fixes - #135
Added Job Order Plugin Support
/get-job-orderthat returns the job order snapshot in JSON.And I would appreciate any suggestions and guidance here.
Thank you! 🙇