Skip to content

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

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

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

Conversation

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

Each guide includes:

  • Overview & Scenarios
  • Mechanism
  • Working Examples Ready-to-use YAML configuration

Signed-off-by: hemantch01 <hemantchaudhary905@gmail.com>
@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
Copy link
Copy Markdown

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

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

Copy link
Copy Markdown
Member

@Arhell Arhell left a comment

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
Copy link
Copy Markdown
Author

hemantch01 commented May 13, 2026

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

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

Labels

kind/documentation Categorizes issue or PR as related to documentation. lgtm Indicates that a PR is ready to be merged. size/XL Denotes a PR that changes 500-999 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

3 participants