Skip to content

Conversation

@bearslyricattack
Copy link
Member

  • Please check if the PR fulfills these requirements
  • The commit message follows our guidelines
  • What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)
  • What this PR does / why we need it:

  • Which issue(s) this PR fixes:

Signed-off-by: 抒情熊 <[email protected]>
@volcano-sh-bot volcano-sh-bot added retest-not-required-docs-only kind/bug Categorizes issue or PR as related to a bug. labels Jul 12, 2025
@volcano-sh-bot volcano-sh-bot requested review from Arhell and Thor-wl July 12, 2025 11:18
@volcano-sh-bot volcano-sh-bot added kind/cleanup Categorizes issue or PR as related to cleaning up code, process, or technical debt. kind/documentation Categorizes issue or PR as related to documentation. labels Jul 12, 2025
@volcano-sh-bot
Copy link
Collaborator

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
To complete the pull request process, please assign kevin-wangzefeng
You can assign the PR to them by writing /assign @kevin-wangzefeng in a comment when ready.

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 kind/feature Categorizes issue or PR as related to a new feature. kind/design Categorizes issue or PR as related to design. labels Jul 12, 2025
Copy link

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

Summary of Changes

Hello @bearslyricattack, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request significantly expands the documentation for the Volcano scheduler by introducing detailed descriptions of several new plugins. The changes provide users with a better understanding of the scheduler's advanced capabilities, covering aspects like resource management, device sharing, and application availability, across both English and Chinese language versions of the documentation.

Highlights

  • New Plugin Documentation (English): Added comprehensive documentation for ten new Volcano scheduler plugins: Capacity, CDP, Conformance, DeviceShare, Extender, NodeGroup, Overcommit, PDB, Rescheduling, and ResourceQuota. Each entry includes an introduction and detailed usage scenarios.
  • New Plugin Documentation (Chinese): Added the same comprehensive documentation for the ten new Volcano scheduler plugins in Chinese, mirroring the English content to ensure multi-language support.
  • Documentation Formatting Adjustment: Adjusted the heading level for the 'Numa-aware' section in the Chinese documentation for consistency.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point in your pull request via creating an issue comment (i.e. comment on the pull request page) using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in issue comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist is currently in preview and may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments to provide feedback.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@volcano-sh-bot volcano-sh-bot added the size/L Denotes a PR that changes 100-499 lines, ignoring generated files. label Jul 12, 2025
Copy link

@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 PR adds documentation for several new Volcano scheduler plugins in both English and Chinese. The changes are mostly well-written. I've provided a few suggestions to improve formatting consistency and clarity in both the English and Chinese documents. These changes will help maintain a uniform style across the documentation.


The CDP plugin provides a cooling time protection for pods, ensuring they won't be preempted for a certain period after entering the Running state, thereby improving service stability. This protection mechanism is particularly important for applications that require a certain startup time before providing stable services.

##### Scenarios

Choose a reason for hiding this comment

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

medium

The heading level for "Scenarios" under the CDP plugin is ##### (level 5), which is inconsistent with the #### (level 4) heading used for "Scenarios" in all other plugin sections. For consistency across the document, this should be a level 4 heading.

Suggested change
##### Scenarios
#### Scenarios

Comment on lines +287 to +288
- **High-availability service protection**: For online services requiring high availability (such as web services, database services, etc.), the PDB plugin ensures that during resource reclamation and preemption, the number of available service instances doesn't fall below the preset threshold, avoiding service interruptions.
- **Stateful application management**: For stateful applications (such as distributed databases, message queues, etc.), the PDB plugin prevents too many instances from being evicted simultaneously, reducing pressure on data replication and synchronization, and maintaining system stability.

Choose a reason for hiding this comment

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

medium

The list items in the "Scenarios" section for the PDB plugin use bold formatting for the titles. This is inconsistent with the formatting of scenario lists for other plugins, which use simple unformatted text. To maintain a consistent style throughout the document, please remove the bold markdown.

Suggested change
- **High-availability service protection**: For online services requiring high availability (such as web services, database services, etc.), the PDB plugin ensures that during resource reclamation and preemption, the number of available service instances doesn't fall below the preset threshold, avoiding service interruptions.
- **Stateful application management**: For stateful applications (such as distributed databases, message queues, etc.), the PDB plugin prevents too many instances from being evicted simultaneously, reducing pressure on data replication and synchronization, and maintaining system stability.
- High-availability service protection: For online services requiring high availability (such as web services, database services, etc.), the PDB plugin ensures that during resource reclamation and preemption, the number of available service instances doesn't fall below the preset threshold, avoiding service interruptions.
- Stateful application management: For stateful applications (such as distributed databases, message queues, etc.), the PDB plugin prevents too many instances from being evicted simultaneously, reducing pressure on data replication and synchronization, and maintaining system stability.

#### 场景

- 系统组件保护:确保kube-system命名空间中运行的核心Kubernetes组件(如kube-apiserver、kube-scheduler、kube-controller-manager等)不会因为用户工作负载的调度需求而被抢占。
- 保障集群稳定性保障:通过防止关键Pod被抢占,维护集群的基本功能和稳定性,即使在资源紧张的情况下也能保证集群管理功能正常运行。

Choose a reason for hiding this comment

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

medium

The phrase "保障集群稳定性保障" contains a repeated word "保障" (guarantee/ensure). This seems redundant. Please consider rephrasing for clarity, for example to "保障集群稳定性".

Suggested change
- 保障集群稳定性保障:通过防止关键Pod被抢占,维护集群的基本功能和稳定性,即使在资源紧张的情况下也能保证集群管理功能正常运行。
- 保障集群稳定性:通过防止关键Pod被抢占,维护集群的基本功能和稳定性,即使在资源紧张的情况下也能保证集群管理功能正常运行。

Comment on lines +284 to +285
- **高可用服务保护**:对于需要保持高可用性的在线服务(如Web服务、数据库服务等),PDB插件可以确保在资源回收和抢占过程中,服务的可用实例数不会低于预设的阈值,避免服务中断。
- **有状态应用管理**:对于有状态应用(如分布式数据库、消息队列等),PDB插件可以防止过多的实例同时被驱逐,减少数据复制和同步的压力,保持系统稳定性。

Choose a reason for hiding this comment

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

medium

The list items in the "场景" (Scenarios) section for the PDB plugin use bold formatting for the titles. This is inconsistent with the formatting of scenario lists for other plugins, which use simple unformatted text. To maintain a consistent style throughout the document, please remove the bold markdown.

Suggested change
- **高可用服务保护**:对于需要保持高可用性的在线服务(如Web服务、数据库服务等),PDB插件可以确保在资源回收和抢占过程中,服务的可用实例数不会低于预设的阈值,避免服务中断。
- **有状态应用管理**:对于有状态应用(如分布式数据库、消息队列等),PDB插件可以防止过多的实例同时被驱逐,减少数据复制和同步的压力,保持系统稳定性。
- 高可用服务保护:对于需要保持高可用性的在线服务(如Web服务、数据库服务等),PDB插件可以确保在资源回收和抢占过程中,服务的可用实例数不会低于预设的阈值,避免服务中断。
- 有状态应用管理:对于有状态应用(如分布式数据库、消息队列等),PDB插件可以防止过多的实例同时被驱逐,减少数据复制和同步的压力,保持系统稳定性。

Signed-off-by: 抒情熊 <[email protected]>
@volcano-sh-bot volcano-sh-bot added size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. and removed size/L Denotes a PR that changes 100-499 lines, ignoring generated files. labels Aug 17, 2025
@JesseStutler JesseStutler requested a review from Copilot November 11, 2025 02:44
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR adds comprehensive documentation for multiple Volcano scheduler plugins in both Chinese and English versions. It introduces detailed descriptions for 13 new plugins including Env, SSH, SVC, Capacity, CDP, Conformance, DeviceShare, Extender, NodeGroup, Overcommit, PDB, Rescheduling, and ResourceQuota.

Key Changes

  • Added documentation for 13 Volcano scheduler plugins with introduction, use cases, key features, and usage instructions
  • Corrected heading level for Numa-aware plugin from #### to ###
  • Provided bilingual documentation (Chinese and English) for consistency

Reviewed Changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 4 comments.

File Description
content/zh/docs/plugins.md Added Chinese documentation for 13 plugins and corrected Numa-aware heading level
content/en/docs/plugins.md Added English documentation for 13 plugins

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

- SVC 插件创建的资源(ConfigMap、Service、NetworkPolicy)会随 Job 一起被自动管理
- 可以通过环境变量或挂载的配置文件访问 Pod 域名信息

如需了解更多关于 SVC 插件的信息,请参考[Volcano SVC 插件指南](https://github.com/volcano-sh/volcano/blob/master/docs/user-guide/how_to_use_ssh_plugin.md) 获取更多信息。
Copy link

Copilot AI Nov 11, 2025

Choose a reason for hiding this comment

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

The link reference is incorrect. The SVC plugin documentation is linking to how_to_use_ssh_plugin.md instead of the correct SVC plugin guide. This should likely be how_to_use_svc_plugin.md or similar.

Suggested change
如需了解更多关于 SVC 插件的信息,请参考[Volcano SVC 插件指南](https://github.com/volcano-sh/volcano/blob/master/docs/user-guide/how_to_use_ssh_plugin.md) 获取更多信息。
如需了解更多关于 SVC 插件的信息,请参考[Volcano SVC 插件指南](https://github.com/volcano-sh/volcano/blob/master/docs/user-guide/how_to_use_svc_plugin.md) 获取更多信息。

Copilot uses AI. Check for mistakes.
- Resources created by the SVC plugin (ConfigMap, Service, NetworkPolicy) are automatically managed with the Job
- Pod domain information can be accessed via environment variables or mounted configuration files

For more information about the SVC plugin, please refer to the [Volcano SVC Plugin Guide](https://github.com/volcano-sh/volcano/blob/master/docs/user-guide/how_to_use_ssh_plugin.md).
Copy link

Copilot AI Nov 11, 2025

Choose a reason for hiding this comment

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

The link reference is incorrect. The SVC plugin documentation is linking to how_to_use_ssh_plugin.md instead of the correct SVC plugin guide. This should likely be how_to_use_svc_plugin.md or similar.

Suggested change
For more information about the SVC plugin, please refer to the [Volcano SVC Plugin Guide](https://github.com/volcano-sh/volcano/blob/master/docs/user-guide/how_to_use_ssh_plugin.md).
For more information about the SVC plugin, please refer to the [Volcano SVC Plugin Guide](https://github.com/volcano-sh/volcano/blob/master/docs/user-guide/how_to_use_svc_plugin.md).

Copilot uses AI. Check for mistakes.
#### 场景

- 系统组件保护:确保kube-system命名空间中运行的核心Kubernetes组件(如kube-apiserver、kube-scheduler、kube-controller-manager等)不会因为用户工作负载的调度需求而被抢占。
- 保障集群稳定性保障:通过防止关键Pod被抢占,维护集群的基本功能和稳定性,即使在资源紧张的情况下也能保证集群管理功能正常运行。
Copy link

Copilot AI Nov 11, 2025

Choose a reason for hiding this comment

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

Redundant wording: '保障集群稳定性保障' (guarantee cluster stability guarantee) contains the word '保障' (guarantee) twice. This should be simplified to either '集群稳定性保障' or '保障集群稳定性'.

Suggested change
- 保障集群稳定性保障:通过防止关键Pod被抢占,维护集群的基本功能和稳定性,即使在资源紧张的情况下也能保证集群管理功能正常运行。
- 保障集群稳定性:通过防止关键Pod被抢占,维护集群的基本功能和稳定性,即使在资源紧张的情况下也能保证集群管理功能正常运行。

Copilot uses AI. Check for mistakes.

The CDP plugin provides a cooling time protection for pods, ensuring they won't be preempted for a certain period after entering the Running state, thereby improving service stability. This protection mechanism is particularly important for applications that require a certain startup time before providing stable services.

##### Scenarios
Copy link

Copilot AI Nov 11, 2025

Choose a reason for hiding this comment

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

Inconsistent heading level. The 'Scenarios' section uses ##### (h5) while all other plugins use #### (h4) for this section. This should be changed to #### Scenarios for consistency.

Suggested change
##### Scenarios
#### Scenarios

Copilot uses AI. Check for mistakes.
weight = 3
+++

### Env
Copy link
Member

Choose a reason for hiding this comment

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

I think env, ssh, svc should be put in content/en/docs/vcjob.md because there are job's plugin rather than scheduler's plugin, the current doc is to introduce the plugins of scheduler.

Or we can create a seperate menu for the controller, and add plugin in the controller menu, as a job-plugin.md

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

Labels

kind/bug Categorizes issue or PR as related to a bug. kind/cleanup Categorizes issue or PR as related to cleaning up code, process, or technical debt. kind/design Categorizes issue or PR as related to design. kind/documentation Categorizes issue or PR as related to documentation. kind/feature Categorizes issue or PR as related to a new feature. retest-not-required-docs-only 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.

3 participants