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]>
Signed-off-by: 抒情熊 <[email protected]>
@volcano-sh-bot volcano-sh-bot added 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/documentation Categorizes issue or PR as related to documentation. kind/feature Categorizes issue or PR as related to a new feature. kind/design Categorizes issue or PR as related to design. labels Aug 17, 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 introduces comprehensive documentation for the new HyperNode concept within Volcano, a Custom Resource Definition (CRD) designed to represent network topology in a cluster. The documentation, available in both English and Chinese, details the HyperNode's purpose, structure, validation rules, and operational characteristics, enabling users to understand and utilize this feature for network topology-aware scheduling. A minor punctuation fix was also applied to the Chinese documentation for queues.

Highlights

  • New Concept Documentation: Introduces detailed documentation for the HyperNode Custom Resource Definition (CRD) in Volcano, explaining its role in representing network topology.
  • Hierarchical Network Representation: Describes how HyperNodes define network connectivity and hierarchical structures, mapping to physical network components like switches or Top of Rack (ToR).
  • Key Configuration Fields: Explains critical spec fields such as tier for hierarchy level, members for child nodes, and type (Node or HyperNode) for member classification.
  • Flexible Node Selection: Details the selector types (exactMatch, regexMatch, labelMatch) used to associate child nodes with a HyperNode.
  • Resource Management Details: Outlines status fields (conditions, nodeCount), validation rules for selectors and member types, and important structural constraints (e.g., no circular dependencies, single parent).
  • Cluster-Level Resource: Clarifies that HyperNodes are cluster-level resources, unique across the cluster, and can be managed with kubectl get hn.
  • Multilingual Support: Provides the new HyperNode documentation in both English and Chinese.
  • Minor Documentation Refinement: Corrected a punctuation error in the Chinese documentation for the queue concept.
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 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. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

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 Aug 17, 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 pull request introduces documentation for the new Hypernode concept in both English and Chinese. The documentation is comprehensive and well-structured. I've found a couple of minor formatting issues in the English version and a typo in the YAML examples in both versions. My suggestions aim to improve readability and correct the examples. Overall, this is a great addition to the project's documentation.

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 the HyperNode concept in both English and Chinese, and makes a minor punctuation fix to the queue documentation.

  • Introduces the HyperNode CRD documentation explaining network topology representation
  • Documents key fields, validation rules, and usage constraints for HyperNode
  • Adds a minor punctuation fix to the Chinese queue documentation

Reviewed Changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 9 comments.

File Description
content/zh/docs/hypernode.md New Chinese documentation for HyperNode CRD concept
content/en/docs/hypernode.md New English documentation for HyperNode CRD concept
content/zh/docs/queue.md Added period at end of definition sentence

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

### 样例

```yaml
yamlapiVersion: topology.volcano.sh/v1alpha1
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.

There's a syntax error in the YAML code block. The word 'yaml' is concatenated with 'apiVersion' instead of being on the code fence line. This should be corrected so that apiVersion: starts on its own line.

Suggested change
yamlapiVersion: topology.volcano.sh/v1alpha1
apiVersion: topology.volcano.sh/v1alpha1

Copilot uses AI. Check for mistakes.
Comment on lines +62 to +77
spec.tier(必填)

表示HyperNode的层级,层级越低,则该HyperNode内的节点通信效率越高。

spec.members(必填)

HyperNode下面的一组子节点,可以通过selector来匹配关联的子节点。

spec.members[i].type(必填)

子节点的类型,支持`Node`和`HyperNode`两种:

- 当子节点全部为`Node`时,代表当前HyperNode为叶子节点
- 当子节点全部为`HyperNode`时,代表当前节点为非叶子HyperNode

spec.members[i].selector(必填)
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.

[nitpick] The formatting style for field documentation is inconsistent with other concept documentation in the codebase. In files like queue.md, fields are formatted with * for list items and italics for optional indicators (e.g., * guarantee,*可选*). The current format uses parenthetical (必填) instead. While this is readable, it deviates from the established pattern in the codebase.

Suggested change
spec.tier(必填)
表示HyperNode的层级,层级越低,则该HyperNode内的节点通信效率越高。
spec.members(必填)
HyperNode下面的一组子节点,可以通过selector来匹配关联的子节点。
spec.members[i].type(必填)
子节点的类型,支持`Node``HyperNode`两种:
- 当子节点全部为`Node`时,代表当前HyperNode为叶子节点
- 当子节点全部为`HyperNode`时,代表当前节点为非叶子HyperNode
spec.members[i].selector(必填)
* spec.tier, *必填*
表示HyperNode的层级,层级越低,则该HyperNode内的节点通信效率越高。
* spec.members, *必填*
HyperNode下面的一组子节点,可以通过selector来匹配关联的子节点。
* spec.members[i].type, *必填*
子节点的类型,支持`Node``HyperNode`两种:
- 当子节点全部为`Node`时,代表当前HyperNode为叶子节点
- 当子节点全部为`HyperNode`时,代表当前节点为非叶子HyperNode
* spec.members[i].selector, *必填*

Copilot uses AI. Check for mistakes.
Comment on lines +6 to +9

date = 2025-08-10
lastmod = 2025-08-10

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 date values 2025-08-10 and 2025-08-10 appear to be in the future (August 2025). This is likely an error since it's currently November 2025 in the system context. The dates should be corrected to the actual creation date. Additionally, based on the existing documentation pattern in other files, there should be no blank line between title and date fields.

Suggested change
date = 2025-08-10
lastmod = 2025-08-10
date = 2025-11-10
lastmod = 2025-11-10

Copilot uses AI. Check for mistakes.
Comment on lines +1 to +2


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 frontmatter opening delimiter has an extra blank line before it. Based on the pattern in other documentation files (queue.md, podgroup.md, vcjob.md), the frontmatter should start at line 1 with +++ immediately, not on line 3.

Suggested change

Copilot uses AI. Check for mistakes.
### Example

```yaml
yamlapiVersion: topology.volcano.sh/v1alpha1
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.

There's a syntax error in the YAML code block. The word 'yaml' is concatenated with 'apiVersion' instead of being on the code fence line. This should be corrected so that apiVersion: starts on its own line.

Suggested change
yamlapiVersion: topology.volcano.sh/v1alpha1
apiVersion: topology.volcano.sh/v1alpha1

Copilot uses AI. Check for mistakes.
Comment on lines 101 to 109
:

- Must specify one of `exactMatch`, `regexMatch`, or `labelMatch`
- Cannot specify multiple selector types simultaneously

2. Member Type Restrictions

:

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.

There's a stray colon : on a separate line after "Selector Validation" that appears to be a formatting error. This should be removed or the list should be reformatted to match the intended structure.

Suggested change
:
- Must specify one of `exactMatch`, `regexMatch`, or `labelMatch`
- Cannot specify multiple selector types simultaneously
2. Member Type Restrictions
:
- Must specify one of `exactMatch`, `regexMatch`, or `labelMatch`
- Cannot specify multiple selector types simultaneously
2. Member Type Restrictions

Copilot uses AI. Check for mistakes.
Comment on lines 101 to 109
:

- Must specify one of `exactMatch`, `regexMatch`, or `labelMatch`
- Cannot specify multiple selector types simultaneously

2. Member Type Restrictions

:

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.

There's a stray colon : on a separate line after "Member Type Restrictions" that appears to be a formatting error. This should be removed or the list should be reformatted to match the intended structure.

Suggested change
:
- Must specify one of `exactMatch`, `regexMatch`, or `labelMatch`
- Cannot specify multiple selector types simultaneously
2. Member Type Restrictions
:
- Must specify one of `exactMatch`, `regexMatch`, or `labelMatch`
- Cannot specify multiple selector types simultaneously
2. Member Type Restrictions

Copilot uses AI. Check for mistakes.
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
@volcano-sh-bot volcano-sh-bot added the do-not-merge/invalid-commit-message Indicates that a PR should not merge because it has an invalid commit message. label Nov 21, 2025
@volcano-sh-bot
Copy link
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 jessestutler 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

bearslyricattack and others added 3 commits November 21, 2025 14:50
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
@volcano-sh-bot
Copy link
Collaborator

Keywords which can automatically close issues and at(@) or hashtag(#) mentions are not allowed in commit messages.

The list of commits with invalid commit messages:

  • daafdb7 Update content/en/docs/hypernode.md
  • 7761eea Update content/en/docs/hypernode.md
  • 21a7331 Update content/zh/docs/hypernode.md
Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

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

Labels

do-not-merge/invalid-commit-message Indicates that a PR should not merge because it has an invalid commit message. 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/L Denotes a PR that changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants