Skip to content

feat: add optional PodDisruptionBudget to ray-cluster Helm chart - #4934

Open
somaz94 wants to merge 2 commits into
ray-project:masterfrom
somaz94:feat/ray-cluster-pdb
Open

somaz94 wants to merge 2 commits into
ray-project:masterfrom
somaz94:feat/ray-cluster-pdb

Conversation

@somaz94

@somaz94 somaz94 commented Jun 22, 2026

Copy link
Copy Markdown

Why are these changes needed?

The ray-cluster Helm chart has no way to declare a PodDisruptionBudget for the RayCluster pods. Without a PDB, voluntary disruptions — node drains during maintenance, cluster-autoscaler scale-down — can evict the Ray head and/or all workers at once, disrupting running jobs.

This adds an opt-in PodDisruptionBudget to the chart, disabled by default so existing installs are unaffected:

  • New podDisruptionBudget block in values.yaml (enabled: false by default), supporting minAvailable (default 1) / maxUnavailable, plus selectorLabels to extend the selector.
  • New templates/poddisruptionbudget.yaml, guarded by {{- if .Values.podDisruptionBudget.enabled }}, rendering policy/v1. The selector targets the operator-managed ray.io/cluster label so it reliably matches every pod of this RayCluster; minAvailable takes precedence when both knobs are set.
  • Chart version bumped 1.1.01.2.0.
  • helm-unittest suite tests/poddisruptionbudget_test.yaml covering disabled-default, enabled, maxUnavailable, precedence, and selectorLabels merge.

Verified locally: helm lint, helm unittest --strict (109 tests pass), and ct lint (version increment validated) — matching the chart CI in .github/workflows/helm.yaml.

Related issue number

N/A — net-new opt-in feature.

Checks

  • I've made sure the tests are passing.
  • Testing Strategy
    • Unit tests (helm unittest --strict, 5 new PDB cases)
    • Manual tests (helm template rendered for PDB enabled / disabled / custom maxUnavailable + selectorLabels; helm lint + ct lint pass)
    • This PR is not tested :(

@somaz94
somaz94 marked this pull request as ready for review June 23, 2026 01:36

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.

Fix All in Cursor

Reviewed by Cursor Bugbot for commit 8e3ebfd. Configure here.

Comment thread helm-chart/ray-cluster/templates/poddisruptionbudget.yaml
somaz94 added 2 commits July 22, 2026 12:23
Signed-off-by: somaz <genius5711@gmail.com>
…luster chart

Signed-off-by: somaz <genius5711@gmail.com>
@somaz94
somaz94 force-pushed the feat/ray-cluster-pdb branch from 1122cee to b77adb9 Compare July 22, 2026 03:23
@somaz94

somaz94 commented Aug 18, 2026

Copy link
Copy Markdown
Author

Gentle ping. This adds an optional PodDisruptionBudget to the ray-cluster chart, off by default. CI is green. Happy to adjust the defaults or the values layout if you would prefer something different.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant