Skip to content

Conversation

@weizhoublue
Copy link
Member

I am robot, upgrade: project volcano chart upgrade from 1.9.0 to 1.13.0

@gemini-code-assist
Copy link

Summary of Changes

Hello @weizhoublue, 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 delivers a substantial upgrade to the Volcano Helm chart, advancing it from version 1.9.0 to 1.13.0. The update focuses on expanding the system's capabilities in resource management and scheduling, introducing new custom resources, and refining existing ones. It also enhances the configurability and operational aspects of Volcano components, ensuring a more robust and feature-rich batch scheduling experience.

Highlights

  • Volcano Chart Version Upgrade: The Volcano Helm chart has been upgraded from version 1.9.0 to 1.13.0, reflecting significant updates across the project.
  • CRD Enhancements and New CRDs: Existing Custom Resource Definitions (CRDs) for JobTemplates, Jobs, Commands, NumaTopologies, PodGroups, and Queues have received extensive updates, including new fields, default values, and validation rules. A new HyperNode CRD has been introduced to support network topology awareness.
  • Scheduler and Admission Webhook Improvements: The Volcano scheduler now includes dynamic resource allocation predicates and a network-topology-aware plugin. New admission webhooks have been added for JobFlows, HyperNodes, and CronJobs validation, with enhanced configuration options for scheduler name, log levels, and security contexts.
  • Colocation Agent Introduction: A new volcano-agent DaemonSet and associated RBAC have been added to enable colocation features, providing capabilities for resource monitoring and eviction.
  • Expanded Configuration Options: The values.yaml file has been significantly expanded to offer more granular control over controller and scheduler behavior, including API QPS/burst limits, worker threads, feature gates, and customizable security contexts and labels for various components.
  • RBAC and Monitoring Updates: New RBAC roles (vcjob-editor-role, vcjob-viewer-role) have been introduced for managing Volcano jobs, and Grafana dashboards and Prometheus configurations have been updated to reflect the new features.
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 by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

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 pull request 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.

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 upgrades the Volcano Helm chart from version 1.9.0 to 1.13.0. The changes are extensive, including updates to CRD definitions, new components like vc-agent, and numerous new configuration options in values.yaml. While most of the changes correctly reflect the new version's features, I've identified several critical issues in the Helm templates that would prevent a successful deployment. These include incorrect image path construction in multiple deployment files and a templating error in the webhook configurations. These issues need to be addressed to ensure the chart is deployable.

- -v={{.Values.custom.admission_log_level}}
- 2>&1
image: {{ .Values.admission.image.registry }}/{{ .Values.admission.image.repository }}:{{.Values.admission.image.tag }}
image: {{ .Values.basic.image_registry }}/{{ .Values.admission.image.registry }}/{{ .Values.admission.image.repository }}:{{.Values.admission.image.tag }}

Choose a reason for hiding this comment

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

critical

The image path is constructed incorrectly by concatenating two different registries ({{ .Values.basic.image_registry }} and {{ .Values.admission.image.registry }}). This will result in an invalid image path like docker.io/docker.m.daocloud.io/... and cause image pull failures.

To fix this, you should probably remove the {{ .Values.basic.image_registry }}/ part. Please also review the image path construction in scheduler.yaml and controllers.yaml as they have the same issue. Note that this will use docker.m.daocloud.io as the registry, which is inconsistent with admission-init.yaml that uses docker.io. A consistent approach for defining the image registry should be adopted across the chart.

          image: {{ .Values.admission.image.registry }}/{{ .Values.admission.image.repository }}:{{.Values.admission.image.tag }}

- --logtostderr
- --enable-healthz=true
- --leader-elect={{ .Values.custom.leader_elect_enable }}
image: {{ .Values.basic.image_registry }}/{{ .Values.controller.image.registry }}/{{ .Values.controller.image.repository }}:{{.Values.controller.image.tag }}

Choose a reason for hiding this comment

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

critical

The image path is constructed incorrectly by concatenating two different registries ({{ .Values.basic.image_registry }} and {{ .Values.controller.image.registry }}). This will result in an invalid image path and cause image pull failures. A similar issue exists in other component templates like admission.yaml and scheduler.yaml.

          image: {{ .Values.controller.image.registry }}/{{ .Values.controller.image.repository }}:{{.Values.controller.image.tag }}

containers:
- name: {{ .Release.Name }}-scheduler
image: {{ .Values.scheduler.image.registry }}/{{ .Values.scheduler.image.repository }}:{{.Values.scheduler.image.tag }}
image: {{ .Values.basic.image_registry }}/{{ .Values.scheduler.image.registry }}/{{ .Values.scheduler.image.repository }}:{{.Values.scheduler.image.tag }}

Choose a reason for hiding this comment

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

critical

The image path is constructed incorrectly by concatenating two different registries ({{ .Values.basic.image_registry }} and {{ .Values.scheduler.image.registry }}). This will result in an invalid image path and cause image pull failures. A similar issue exists in other component templates like admission.yaml and controllers.yaml.

          image: {{ .Values.scheduler.image.registry }}/{{ .Values.scheduler.image.repository }}:{{.Values.scheduler.image.tag }}

Comment on lines +471 to 472
{{- if .Values.custom.enabled_admissions | regexMatch "/cronjobs/validate" }}
{{- end }}

Choose a reason for hiding this comment

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

high

This conditional block is incorrect. The if statement is immediately closed on the next line, causing the ValidatingWebhookConfiguration for cronjobs to be created unconditionally. This is likely not the desired behavior and will also cause a template rendering error due to a mismatched {{- end }} later in the file.

The resource definition should be wrapped inside the if block. Please remove line 472 and add a corresponding {{- end }} after the resource definition.

@github-actions github-actions bot force-pushed the upgrade/volcano/1.13.0 branch 8 times, most recently from 3d04d39 to 5257dc9 Compare October 7, 2025 20:13
@github-actions github-actions bot force-pushed the upgrade/volcano/1.13.0 branch 8 times, most recently from 336f857 to 08dc9c7 Compare October 15, 2025 20:13
@github-actions github-actions bot force-pushed the upgrade/volcano/1.13.0 branch 8 times, most recently from d99adff to 802e818 Compare October 23, 2025 20:13
@github-actions github-actions bot force-pushed the upgrade/volcano/1.13.0 branch 7 times, most recently from e2e2458 to af789a2 Compare November 6, 2025 20:13
@github-actions github-actions bot force-pushed the upgrade/volcano/1.13.0 branch 6 times, most recently from 988adf3 to 9d229d2 Compare November 12, 2025 20:14
@github-actions github-actions bot force-pushed the upgrade/volcano/1.13.0 branch 8 times, most recently from 56b2066 to 081c380 Compare November 21, 2025 20:13
@github-actions github-actions bot force-pushed the upgrade/volcano/1.13.0 branch 6 times, most recently from 0af0e0f to 9225501 Compare November 28, 2025 20:14
@github-actions github-actions bot force-pushed the upgrade/volcano/1.13.0 branch from 9225501 to 1c7665e Compare November 29, 2025 20:14
@github-actions github-actions bot force-pushed the upgrade/volcano/1.13.0 branch from 1c7665e to 7cb3e48 Compare November 30, 2025 20:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants