Skip to content

docs: sync missing plugin documentation from volcano core repository#502

Open
hemantch01 wants to merge 4 commits into
volcano-sh:masterfrom
hemantch01:feat/sync-plugin-docs
Open

docs: sync missing plugin documentation from volcano core repository#502
hemantch01 wants to merge 4 commits into
volcano-sh:masterfrom
hemantch01:feat/sync-plugin-docs

Conversation

@hemantch01

@hemantch01 hemantch01 commented May 11, 2026

Copy link
Copy Markdown

Please check if the PR fulfills these requirements

  • The commit message follows our guidelines
  • 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/volcano repository. 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:

  • Scheduler Plugins: usage, rescheduling, resourcequota, pdb, overcommit, and deviceshare.
  • Job Plugin: hcclrank.

Things done so far

  • Added New Plugins Documentation
  • Refactored Documentation Structure (separated plugins into Scheduler and Controller directories)
  • Added Chinese (zh-Hans) Fallbacks *(todo: add chinese translation for next pr)
  • Fixed Sidebar to make more accessible
  • Fixed Broken Markdown Links
  • Fixed SVG Image Warnings duing compile time
  • Screenshot 2026-06-03 103523

Fixes #501

@volcano-sh-bot volcano-sh-bot added the kind/documentation Categorizes issue or PR as related to documentation. label May 11, 2026
@volcano-sh-bot

Copy link
Copy Markdown
Collaborator

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign thor-wl for approval. For more information see the Kubernetes Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@volcano-sh-bot volcano-sh-bot added the size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. label May 11, 2026

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment on lines +43 to +51
- 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%.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

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.

Suggested change
- 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`.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

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.

Suggested change
Set the metrics `type` in the scheduler configmap to `prometheus_adaptor`.
Set the metrics `type` in the scheduler configmap to `prometheus_adapt`.

@hemantch01

Copy link
Copy Markdown
Author

@JesseStutler

@Arhell Arhell left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm

@volcano-sh-bot volcano-sh-bot added the lgtm Indicates that a PR is ready to be merged. label May 12, 2026
@hemantch01

hemantch01 commented May 13, 2026

Copy link
Copy Markdown
Author

hi @Arhell when i was setting up repo i faced the compatibility issue first so this needs to merge first #497 and this pr also adds syntax highlighting for yaml examples

@JesseStutler

Copy link
Copy Markdown
Member

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

@JesseStutler

Copy link
Copy Markdown
Member

/hold

@volcano-sh-bot volcano-sh-bot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label May 22, 2026
@hemantch01

Copy link
Copy Markdown
Author

sure @JesseStutler i can do that once PR #493 gets merged.

@JesseStutler

Copy link
Copy Markdown
Member

Wish you could refactor to plugins section under scheduler and plugins under controller section

@hemantch01

Copy link
Copy Markdown
Author

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

@volcano-sh-bot volcano-sh-bot removed the lgtm Indicates that a PR is ready to be merged. label Jun 3, 2026
@volcano-sh-bot

Copy link
Copy Markdown
Collaborator

New changes are detected. LGTM label has been removed.

@volcano-sh-bot volcano-sh-bot added do-not-merge/contains-merge-commits size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. and removed size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. labels Jun 3, 2026
@hemantch01 hemantch01 force-pushed the feat/sync-plugin-docs branch from fe1cb2c to f837688 Compare June 3, 2026 05:04
@volcano-sh-bot volcano-sh-bot added size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. and removed size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. labels Jun 3, 2026
Signed-off-by: hemantch01 <hemantchaudhary905@gmail.com>

docs: reorganize plugin documentation into scheduler and controller

Signed-off-by: hemantch01 <hemantchaudhary905@gmail.com>

docs: add controller overview and update sidebar category positions

Signed-off-by: hemantch01 <hemantchaudhary905@gmail.com>
Signed-off-by: hemantch01 <hemantchaudhary905@gmail.com>
Signed-off-by: hemantch01 <hemantchaudhary905@gmail.com>

docs(i18n): add zh-Hans fallback content for Controller and new Scheduler plugins

Signed-off-by: hemantch01 <hemantchaudhary905@gmail.com>
@volcano-sh-bot volcano-sh-bot added size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. and removed size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. labels Jun 3, 2026
@hemantch01

Copy link
Copy Markdown
Author

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 <hemantchaudhary905@gmail.com>
@JesseStutler

Copy link
Copy Markdown
Member

Could you explain why there are so many files changed?

@hemantch01

Copy link
Copy Markdown
Author

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.
and relative links were changed in each and every version of volcano

@JesseStutler

Copy link
Copy Markdown
Member

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. and relative links were changed in each and every version of volcano

Shouldn't this PR only to add plugin docs for the website? I don't get why you changed some many files

@hemantch01

hemantch01 commented Jun 16, 2026

Copy link
Copy Markdown
Author

Wish you could refactor to plugins section under scheduler and plugins under controller section

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. kind/documentation Categorizes issue or PR as related to documentation. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Docs] Sync missing plugin documentation from Volcano main repository

4 participants