-
Notifications
You must be signed in to change notification settings - Fork 81
add concept Hypernode #414
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
Signed-off-by: 抒情熊 <[email protected]>
Signed-off-by: 抒情熊 <[email protected]>
There was a problem hiding this 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
-
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. ↩
There was a problem hiding this 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.
There was a problem hiding this 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.
content/zh/docs/hypernode.md
Outdated
| ### 样例 | ||
|
|
||
| ```yaml | ||
| yamlapiVersion: topology.volcano.sh/v1alpha1 |
Copilot
AI
Nov 11, 2025
There was a problem hiding this comment.
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.
| yamlapiVersion: topology.volcano.sh/v1alpha1 | |
| apiVersion: topology.volcano.sh/v1alpha1 |
| spec.tier(必填) | ||
|
|
||
| 表示HyperNode的层级,层级越低,则该HyperNode内的节点通信效率越高。 | ||
|
|
||
| spec.members(必填) | ||
|
|
||
| HyperNode下面的一组子节点,可以通过selector来匹配关联的子节点。 | ||
|
|
||
| spec.members[i].type(必填) | ||
|
|
||
| 子节点的类型,支持`Node`和`HyperNode`两种: | ||
|
|
||
| - 当子节点全部为`Node`时,代表当前HyperNode为叶子节点 | ||
| - 当子节点全部为`HyperNode`时,代表当前节点为非叶子HyperNode | ||
|
|
||
| spec.members[i].selector(必填) |
Copilot
AI
Nov 11, 2025
There was a problem hiding this comment.
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.
| 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, *必填* |
|
|
||
| date = 2025-08-10 | ||
| lastmod = 2025-08-10 | ||
|
|
Copilot
AI
Nov 11, 2025
There was a problem hiding this comment.
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.
| date = 2025-08-10 | |
| lastmod = 2025-08-10 | |
| date = 2025-11-10 | |
| lastmod = 2025-11-10 |
|
|
||
|
|
Copilot
AI
Nov 11, 2025
There was a problem hiding this comment.
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.
content/en/docs/hypernode.md
Outdated
| ### Example | ||
|
|
||
| ```yaml | ||
| yamlapiVersion: topology.volcano.sh/v1alpha1 |
Copilot
AI
Nov 11, 2025
There was a problem hiding this comment.
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.
| yamlapiVersion: topology.volcano.sh/v1alpha1 | |
| apiVersion: topology.volcano.sh/v1alpha1 |
content/en/docs/hypernode.md
Outdated
| : | ||
|
|
||
| - Must specify one of `exactMatch`, `regexMatch`, or `labelMatch` | ||
| - Cannot specify multiple selector types simultaneously | ||
|
|
||
| 2. Member Type Restrictions | ||
|
|
||
| : | ||
|
|
Copilot
AI
Nov 11, 2025
There was a problem hiding this comment.
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.
| : | |
| - 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 |
content/en/docs/hypernode.md
Outdated
| : | ||
|
|
||
| - Must specify one of `exactMatch`, `regexMatch`, or `labelMatch` | ||
| - Cannot specify multiple selector types simultaneously | ||
|
|
||
| 2. Member Type Restrictions | ||
|
|
||
| : | ||
|
|
Copilot
AI
Nov 11, 2025
There was a problem hiding this comment.
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.
| : | |
| - 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 |
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
|
[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 |
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>
Co-authored-by: Copilot <[email protected]>
|
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:
DetailsInstructions 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. |
What this PR does / why we need it:
Which issue(s) this PR fixes: