Skip to content

Conversation

@GoingCharlie
Copy link
Contributor

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 adds comprehensive documentation for the newly introduced Cron VolcanoJob feature in Volcano v1.13, including both Chinese and English versions.

Changes included:

  • Add Chinese documentation
  • Add English documentation
  • Introduce Cron VolcanoJob definition, purpose and use cases
  • Explain all key fields (schedule, timeZone, concurrencyPolicy, startingDeadlineSeconds, history limits, etc.)
  • Provide usage examples with YAML manifests
  • Include kubectl commands for managing Cron VolcanoJobs

Which issue(s) this PR fixes:

Fixes #429

Special notes for your reviewer:

  • Documentation follows Volcano Job documentation style
  • Both Chinese and English versions are provided

@volcano-sh-bot volcano-sh-bot added the kind/documentation Categorizes issue or PR as related to documentation. label Nov 19, 2025
@volcano-sh-bot
Copy link
Collaborator

Welcome @GoingCharlie! It looks like this is your first PR to volcano-sh/website 🎉

@gemini-code-assist
Copy link

Summary of Changes

Hello @GoingCharlie, 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 detailed documentation for the new Cron VolcanoJob feature within Volcano v1.13. This feature allows users to schedule batch computing tasks, such as AI and big data workloads, to run periodically based on predefined schedules, similar to Kubernetes native CronJobs. The documentation covers the concept, configuration fields, and practical usage scenarios, ensuring users can effectively leverage this new capability.

Highlights

  • New Feature Documentation: Comprehensive documentation for the recently introduced Cron VolcanoJob feature in Volcano v1.13, enabling scheduled execution of batch computing tasks.
  • Dual Language Support: The documentation is provided in both English and Chinese versions to cater to a broader audience.
  • Detailed Explanations and Examples: The documentation includes definitions, purpose, use cases, explanations of key fields (schedule, timeZone, concurrencyPolicy, startingDeadlineSeconds, history limits, suspend, jobTemplate), and practical usage examples with YAML manifests and kubectl commands.
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.

@volcano-sh-bot volcano-sh-bot added the size/L Denotes a PR that changes 100-499 lines, ignoring generated files. label Nov 19, 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 adds documentation for the new Cron VolcanoJob feature in both English and Chinese. The documentation is comprehensive, covering the definition, key fields, and usage examples. I've found a few minor issues related to formatting, consistency, and clarity that could improve the documentation. Specifically, there's some inconsistent formatting in YAML examples and some trailing whitespace. More importantly, I've suggested adding a clarification about the resource kind (CronJob) and its short name (cronvcjob) to avoid potential confusion for users. I also noticed that doc/concepts/cron_volcanoJob.md seems to be a duplicate of the Chinese documentation for the website, which could be a maintenance concern.

+++

### Introduction
Cron VolcanoJob, also known as cronvcjob or cronvj, is a custom resource type in Volcano. Users can now periodically create and run Volcano Jobs based on predefined schedules, similar to Kubernetes native CronJobs, enabling scheduled execution of batch computing tasks (such as AI and big data workloads).

Choose a reason for hiding this comment

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

medium

To avoid confusion with the native Kubernetes CronJob, it would be helpful to add a note clarifying that this is a Volcano-specific custom resource. For example, you could add:

'Note: While the resource kind is CronJob, it is a custom resource defined by Volcano under the batch.volcano.sh/v1alpha1 API group, distinct from the native Kubernetes CronJob. It can be managed using kubectl with its short names cronvcjob or cronvj.'

Optional. Deadline in seconds for starting the job if it misses its scheduled time.

* suspend

Choose a reason for hiding this comment

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

medium

This line contains only whitespace. Please remove it for better formatting and readability.

name: daily-model-training
spec:
schedule: "0 2 * * *" # Run daily at 2 AM
concurrencyPolicy: "Forbid"

Choose a reason for hiding this comment

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

medium

For consistency with the first example (line 26), it's better to use an unquoted value for concurrencyPolicy. YAML syntax allows it, and it improves readability and consistency across the document.

Suggested change
concurrencyPolicy: "Forbid"
concurrencyPolicy: Forbid

Clean up temporary data and log files every Sunday evening to free up cluster storage space.
```shell
apiVersion: batch.volcano.sh/v1alpha1
kind: CronJob

Choose a reason for hiding this comment

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

medium

There is trailing whitespace on this line. Please remove it.

Suggested change
kind: CronJob
kind: CronJob

+++

### 定义
Cron VolcanoJob, 简称cronvcjob,cronvj,是Volcano自定义的资源类型。用户现在可以根据预定义的调度计划定期创建和运行Volcano Job,类似于Kubernetes原生的CronJob,以实现批量计算任务(如AI和大数据)的定期执行。

Choose a reason for hiding this comment

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

medium

To avoid confusion with the native Kubernetes CronJob, it would be helpful to add a note clarifying that this is a Volcano-specific custom resource. A translated note would be beneficial for Chinese readers.

@@ -0,0 +1,126 @@
### 定义

Choose a reason for hiding this comment

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

medium

This file appears to be a duplicate of content/zh/docs/cron_volcanoJob.md (without the frontmatter). Maintaining duplicate content can lead to inconsistencies and increase the maintenance burden. Could you clarify if this duplication is intentional or if one of the files can be removed or generated from the other?

@@ -0,0 +1,126 @@
### 定义
Cron VolcanoJob, 简称cronvcjob,cronvj,是Volcano自定义的资源类型。用户现在可以根据预定义的调度计划定期创建和运行Volcano Job,类似于Kubernetes原生的CronJob,以实现批量计算任务(如AI和大数据)的定期执行。

Choose a reason for hiding this comment

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

medium

Similar to the other documentation files, it would be beneficial to add a note here to clarify the relationship between kind: CronJob and the short name cronvcjob to avoid confusion with the native Kubernetes CronJob.

可选。如果 job 错过其计划时间,启动 job 的截止时间(秒)。

* suspend

Choose a reason for hiding this comment

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

medium

This line contains only whitespace. Please remove it for better formatting.

name: daily-model-training
spec:
schedule: "0 2 * * *" # 每天凌晨2点运行
concurrencyPolicy: "Forbid"

Choose a reason for hiding this comment

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

medium

For consistency with the first example (line 11), it's better to use an unquoted value for concurrencyPolicy.

Suggested change
concurrencyPolicy: "Forbid"
concurrencyPolicy: Forbid

每周日晚上清理临时数据和日志文件,释放集群存储空间。
```shell
apiVersion: batch.volcano.sh/v1alpha1
kind: CronJob

Choose a reason for hiding this comment

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

medium

There is trailing whitespace on this line. Please remove it.

Suggested change
kind: CronJob
kind: CronJob

Copy link
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 Nov 29, 2025

Optional. Specifies how to manage concurrent executions of jobs created by the Cron VolcanoJob. Must be one of the following:

Allow (default): Allow concurrent runs
Copy link
Member

@JesseStutler JesseStutler Dec 23, 2025

Choose a reason for hiding this comment

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

image Add indentation to make it a second-level list.

@volcano-sh-bot volcano-sh-bot removed the lgtm Indicates that a PR is ready to be merged. label Dec 23, 2025
@GoingCharlie GoingCharlie force-pushed the cronjob branch 6 times, most recently from 8718800 to fb6aa1d Compare December 25, 2025 06:21
@JesseStutler
Copy link
Member

/approve

@volcano-sh-bot
Copy link
Collaborator

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: JesseStutler

The full list of commands accepted by this bot can be found here.

The pull request process is described 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 approved Indicates a PR has been approved by an approver from all required OWNERS files. label Dec 25, 2025
@JesseStutler
Copy link
Member

/lgtm

@volcano-sh-bot volcano-sh-bot added the lgtm Indicates that a PR is ready to be merged. label Dec 29, 2025
@volcano-sh-bot volcano-sh-bot merged commit 016367b into volcano-sh:master Dec 29, 2025
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. kind/documentation Categorizes issue or PR as related to documentation. lgtm Indicates that a PR is ready to be merged. 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.

Add Cron VolcanoJob Concept and Documentation (EN/ZH) under 'concept' menu

4 participants