Description
When Volcano is installed using Helm, uninstalling the release also deletes its Helm-managed CRDs. Kubernetes then deletes all custom resources stored under those CRDs.
The issue was reproduced with jobs.batch.volcano.sh: both the CRD and existing Volcano Jobs disappeared after helm uninstall.
Volcano should use a consistent retention policy for all 11 CRDs:
jobs.batch.volcano.sh
cronjobs.batch.volcano.sh
commands.bus.volcano.sh
colocationconfigurations.config.volcano.sh
numatopologies.nodeinfo.volcano.sh
podgroups.scheduling.volcano.sh
queues.scheduling.volcano.sh
nodeshards.shard.volcano.sh
hypernodes.topology.volcano.sh
jobflows.flow.volcano.sh
jobtemplates.flow.volcano.sh
Some of these resources are maintained internally by Volcano, but deleting them during uninstall is still destructive and makes the CRD lifecycle inconsistent.
Steps to reproduce the issue
-
Install Volcano with Helm:
helm install volcano <volcano-chart> -n volcano-system --create-namespace
-
Create a Volcano Job:
kubectl apply -f example/job.yaml
kubectl get vcjob,podgroup -A
-
Uninstall Volcano:
helm uninstall volcano -n volcano-system
-
Check the Job CRD and resources:
kubectl get crd jobs.batch.volcano.sh
kubectl get vcjob -A
Evidence and production path
Cluster reproduction confirmed that jobs.batch.volcano.sh and its Job resources were deleted.
The complete failure path is:
helm uninstall
-> Helm deletes the release-managed CRDs
-> Kubernetes deletes all CRs under those CRDs
-> workload and internal Volcano state is lost
Only the Job CRD has been independently reproduced in a cluster. Source review confirms that the other CRDs use the same Helm-managed lifecycle.
Describe the results you received and expected
Actual:
- Volcano is uninstalled.
- The Job CRD and existing Volcano Jobs are also deleted.
Expected:
- Volcano components are uninstalled.
- All 11 Volcano CRDs and their custom resources are preserved.
- Existing workloads are not deleted because their CRDs were removed.
- Reconciliation can resume after Volcano is installed again.
What version of Volcano are you using?
Volcano 1.14.1
Any other relevant information
No response
Description
When Volcano is installed using Helm, uninstalling the release also deletes its Helm-managed CRDs. Kubernetes then deletes all custom resources stored under those CRDs.
The issue was reproduced with
jobs.batch.volcano.sh: both the CRD and existing Volcano Jobs disappeared afterhelm uninstall.Volcano should use a consistent retention policy for all 11 CRDs:
jobs.batch.volcano.shcronjobs.batch.volcano.shcommands.bus.volcano.shcolocationconfigurations.config.volcano.shnumatopologies.nodeinfo.volcano.shpodgroups.scheduling.volcano.shqueues.scheduling.volcano.shnodeshards.shard.volcano.shhypernodes.topology.volcano.shjobflows.flow.volcano.shjobtemplates.flow.volcano.shSome of these resources are maintained internally by Volcano, but deleting them during uninstall is still destructive and makes the CRD lifecycle inconsistent.
Steps to reproduce the issue
Install Volcano with Helm:
Create a Volcano Job:
Uninstall Volcano:
Check the Job CRD and resources:
Evidence and production path
Cluster reproduction confirmed that
jobs.batch.volcano.shand its Job resources were deleted.The complete failure path is:
Only the Job CRD has been independently reproduced in a cluster. Source review confirms that the other CRDs use the same Helm-managed lifecycle.
Describe the results you received and expected
Actual:
Expected:
What version of Volcano are you using?
Volcano 1.14.1
Any other relevant information
No response