docs: sync missing plugin documentation from volcano core repository#502
docs: sync missing plugin documentation from volcano core repository#502hemantch01 wants to merge 5 commits into
Conversation
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
There was a problem hiding this comment.
Code Review
This pull request introduces comprehensive documentation for several Volcano scheduler plugins, including DeviceShare, HCCLRank, Overcommit, Pod Disruption Budget (PDB), Rescheduling, ResourceQuota, and Usage-based scheduling. The feedback identifies necessary corrections in the Usage-based scheduling guide, specifically regarding the correct nesting of the 'enablePredicate' parameter within the 'arguments' block, the use of 'memory' instead of 'mem' for threshold keys to maintain consistency, and the correction of the metrics type string for the Prometheus Adaptor.
| - name: usage # usage based scheduling plugin | ||
| enablePredicate: false # If false, new pod scheduling is not disabled when node load reaches the threshold. If true or empty, new pod scheduling is disabled. | ||
| arguments: | ||
| usage.weight: 5 | ||
| cpu.weight: 1 | ||
| memory.weight: 1 | ||
| thresholds: | ||
| cpu: 80 # The node cannot schedule new pods if its actual CPU load reaches 80%. | ||
| mem: 70 # The node cannot schedule new pods if its actual Memory load reaches 70%. |
There was a problem hiding this comment.
The enablePredicate configuration should be placed within the arguments block of the plugin configuration to be correctly parsed by the Volcano scheduler. Additionally, the threshold key for memory is typically memory rather than mem to maintain consistency with other resource naming conventions in Volcano.
| - name: usage # usage based scheduling plugin | |
| enablePredicate: false # If false, new pod scheduling is not disabled when node load reaches the threshold. If true or empty, new pod scheduling is disabled. | |
| arguments: | |
| usage.weight: 5 | |
| cpu.weight: 1 | |
| memory.weight: 1 | |
| thresholds: | |
| cpu: 80 # The node cannot schedule new pods if its actual CPU load reaches 80%. | |
| mem: 70 # The node cannot schedule new pods if its actual Memory load reaches 70%. | |
| - name: usage # usage based scheduling plugin | |
| arguments: | |
| enablePredicate: false # If false, new pod scheduling is not disabled when node load reaches the threshold. If true or empty, new pod scheduling is disabled. | |
| usage.weight: 5 | |
| cpu.weight: 1 | |
| memory.weight: 1 | |
| thresholds: | |
| cpu: 80 # The node cannot schedule new pods if its actual CPU load reaches 80%. | |
| memory: 70 # The node cannot schedule new pods if its actual Memory load reaches 70%. |
| metricsQuery: avg_over_time(((1-node_memory_MemAvailable_bytes/<<.Series>>))[10m:30s]) | ||
| ``` | ||
|
|
||
| Set the metrics `type` in the scheduler configmap to `prometheus_adaptor`. |
There was a problem hiding this comment.
The metrics type for the Prometheus Adaptor in Volcano is prometheus_adapt, not prometheus_adaptor. This matches the description provided in the configuration section on line 61.
| Set the metrics `type` in the scheduler configmap to `prometheus_adaptor`. | |
| Set the metrics `type` in the scheduler configmap to `prometheus_adapt`. |
|
Thanks for your great work, but I prefer not to put plugins related docs under user guide, but to set the plugin as the second menu and then put all plugin related docs into it. We can first wait until #493 merged and then continue refactoring |
|
/hold |
|
sure @JesseStutler i can do that once PR #493 gets merged. |
|
Wish you could refactor to plugins section under scheduler and plugins under controller section |
|
i have done already i was just making the architecture diagram so in this pr i wll just raise refactor and will raise another for the diagram |
|
New changes are detected. LGTM label has been removed. |
fe1cb2c to
f837688
Compare
Signed-off-by: hemantch01 <[email protected]> docs: reorganize plugin documentation into scheduler and controller Signed-off-by: hemantch01 <[email protected]> docs: add controller overview and update sidebar category positions Signed-off-by: hemantch01 <[email protected]>
Signed-off-by: hemantch01 <[email protected]>
Signed-off-by: hemantch01 <[email protected]> docs(i18n): add zh-Hans fallback content for Controller and new Scheduler plugins Signed-off-by: hemantch01 <[email protected]>
f837688 to
d6bfa7f
Compare
|
hi @JesseStutler please check |
…plugin restructure - Update all /docs/UserGuide/user_guide_how_to_use_* links to new paths - Update all /docs/Plugins/user_guide_how_to_use_* links to new paths - Fix deviceshare.md relative links to UserGuide docs - Scheduler plugins: capacity, cdp, nodegroup, resource_strategy_fit, task_topology - Controller plugins: ray, pytorch, mpi, ssh, svc, env Signed-off-by: hemantch01 <[email protected]>
|
Could you explain why there are so many files changed? |
|
yes sure this is the deployedLink and if you see files changed (mentioend in the github also) this is due to (moved files) + (new docs )*2 (same doc for english and chinese) otherwise getting error in chinese docs +(changed the sidebar positions) before this was messy + (metadata for the docusaurus) so that refactored sections can be shown correctly + then relative link for all the interconnected files changed. |
Shouldn't this PR only to add plugin docs for the website? I don't get why you changed some many files |
you told me to refactor it?? the added docs are not that much, but refactor and then changing relative links for many eng+ chinese and for all the versions, if you want i can move refactor part in another pr also. |
hi @JesseStutler ?? |
|
Cool, will take a look |
There was a problem hiding this comment.
One sentence is a bit thin for what is now the landing page of the Controller section. Could you expand this a little — e.g. what the Job Controller actually reconciles (Job, PodGroup, tasks, lifecycle policies), how plugins hook into it (OnJobAdd / OnPodCreate / etc.), and a short index linking to each plugin page under ./Plugins/ (env, ssh, svc, tensorflow, mpi, pytorch, ray, hcclrank).
Also worth noting for a follow-up: the Controller section can later host a Policies page too (the lifecycle policies on Job/Task, e.g. PodEvicted / TaskCompleted / TaskFailed actions). No need to include that in this PR, just calling it out so we have a slot for it.
Same expansion needed on the matching i18n/zh-Hans/.../Controller/Overview.md.
There was a problem hiding this comment.
i will be adding picture and more description, but this pr is getting too long so i will fix it in next pr. or i can add in this pr your call.
Signed-off-by: hemantch01 <[email protected]>
|
hi @JesseStutler i have addressed the comments, so most of the comments were to be fixed by me without asking your opinion and i did but i need your opinion on this comment below.
other comments are marked resolved by me, only this is left. |
hi @JesseStutler ?? |
Please check if the PR fulfills these requirements
What kind of change does this PR introduce?
/kind documentation
What this PR does / why we need it:
This PR synchronizes the website documentation with the current features available in the main
volcano-sh/volcanorepository. Currently, several active plugins in the core codebase lack proper user guides, creating a gap for users attempting to discover or configure these features.This update introduces detailed documentation for differnt plugins:
usage,rescheduling,resourcequota,pdb,overcommit, anddeviceshare.hcclrank.Things done so far
Fixes #501