Skip to content

1.6.2 sync fixed#196

Merged
pawelpaszki merged 396 commits into
opendatahub-io:rhoai-3.5-GA-releasefrom
CathalOConnorRH:1.6.1-sync-fixed
Jul 17, 2026
Merged

1.6.2 sync fixed#196
pawelpaszki merged 396 commits into
opendatahub-io:rhoai-3.5-GA-releasefrom
CathalOConnorRH:1.6.1-sync-fixed

Conversation

@CathalOConnorRH

Copy link
Copy Markdown

Why are these changes needed?

Related issue number

Checks

  • I've made sure the tests are passing.
  • Testing Strategy
    • Unit tests
    • Manual tests
    • This PR is not tested :(

seanlaii and others added 30 commits October 10, 2025 16:28
Signed-off-by: wei-chenglai <qazwsx0939059006@gmail.com>
…3703)

* Add priorityClassName for operator helm chart

Signed-off-by: win5923 <ken89@kimo.com>

* Add test

Signed-off-by: win5923 <ken89@kimo.com>

---------

Signed-off-by: win5923 <ken89@kimo.com>
Signed-off-by: Jun-Hao Wan <ken89@kimo.com>
…r in rayjob (ray-project#4125)

* feat: show event message when raycluster not found

* Apply suggestions from code review

Signed-off-by: Rueian <rueiancsie@gmail.com>

---------

Signed-off-by: Rueian <rueiancsie@gmail.com>
Co-authored-by: Rueian <rueiancsie@gmail.com>
…ay (ray-project#4105)

* Support Volcano Network Topology Aware Scheduling for kuberay

* Address comments for tests

* Fix precommit lint errors.

---------

Co-authored-by: Mingyuan Tian <mingyuantian@pinterest.com>
…plate section in the New Job (ray-project#4119)

* feat: use api server v2 main logic

Signed-off-by: Cheyu Wu <cheyu1220@gmail.com>

* feat: add validation in hardware resource

Signed-off-by: Cheyu Wu <cheyu1220@gmail.com>

* fix: cancel button is not working

Signed-off-by: Cheyu Wu <cheyu1220@gmail.com>

---------

Signed-off-by: Cheyu Wu <cheyu1220@gmail.com>
…ll RayCluster CRs by configuration (ray-project#4103)

* [Feature] Inject specific env vars to all Ray containers in all RayCluster CRs

Signed-off-by: win5923 <ken89@kimo.com>

* Add to helm chart

Signed-off-by: win5923 <ken89@kimo.com>

* Apply Rueian's comments

Signed-off-by: win5923 <ken89@kimo.com>

* Change defaultRayEnvs to defaultContainerEnvs

Signed-off-by: win5923 <ken89@kimo.com>

---------

Signed-off-by: win5923 <ken89@kimo.com>
* feat: add grace period after sumitter finished

* feat: generate new field in rayjob CRD

* fix: fix terminate logic + add default timeout value

* refactor: remove submitter finish timeout in rayjob status & use default timeout

* feat: get finish time from job and container

* test: for submitter finished timeout

* fix: set finishedAt to nil if submitter not finished

* test: ensure timeout close to the set timeout

* refactor: make status msg more readable

* fix: simplify finishedAt time format

* refactor: remove isSubmitterFinished and use finishedAt only

* fix: add LastTransitionTime to JobCondition in test

* Trigger CI

Signed-off-by: machichima <nary12321@gmail.com>

* refactor: fix lint and nit

* fix: fix test

---------

Signed-off-by: machichima <nary12321@gmail.com>
… and `WorkerGroupSpec` (ray-project#4106)

* Add top-level Labels and Resources fields

Signed-off-by: Ryan O'Leary <ryanaoleary@google.com>

* Update API comment

Signed-off-by: Ryan O'Leary <ryanaoleary@google.com>

* Fix comments

Signed-off-by: Ryan O'Leary <ryanaoleary@google.com>

* Add validation logic

Signed-off-by: Ryan O'Leary <ryanaoleary@google.com>

* Update ray-operator/controllers/ray/common/pod.go

Co-authored-by: Kai-Hsun Chen <kaihsun@apache.org>
Signed-off-by: Ryan O'Leary <113500783+ryanaoleary@users.noreply.github.com>

* Add k8s syntax validation

Signed-off-by: Ryan O'Leary <ryanaoleary@google.com>

---------

Signed-off-by: Ryan O'Leary <ryanaoleary@google.com>
Signed-off-by: Ryan O'Leary <113500783+ryanaoleary@users.noreply.github.com>
Co-authored-by: Kai-Hsun Chen <kaihsun@apache.org>
…ay-project#4131)

* [Feature] Provide multi-arch image build and push for apiserver and security proxy

Signed-off-by: wei-chenglai <qazwsx0939059006@gmail.com>

* build on test and push only on master branch

* fix lint

---------

Signed-off-by: wei-chenglai <qazwsx0939059006@gmail.com>
Signed-off-by: bo.jiang <bo.jiang@daocloud.io>
…how to do the update (ray-project#4111)

Signed-off-by: Alan Guo <aguo@anyscale.com>
…y-Operator Dashboard (ray-project#4088)

Signed-off-by: 400Ping <fourhundredping@gmail.com>
* Adding multi-host indexing

Signed-off-by: Aaron Liang <aaronliang@google.com>

* Refactor and add e2e test

Signed-off-by: Ryan O'Leary <ryanaoleary@google.com>

* Rebase and lint

Signed-off-by: Ryan O'Leary <ryanaoleary@google.com>

* Add test to buildkite

Signed-off-by: Ryan O'Leary <ryanaoleary@google.com>

* Fix typo in helm

Signed-off-by: Ryan O'Leary <ryanaoleary@google.com>

* remove util function

Signed-off-by: Ryan O'Leary <ryanaoleary@google.com>

* fix test

Signed-off-by: Ryan O'Leary <ryanaoleary@google.com>

* Enable feature in CI and remove requeue on delete

Signed-off-by: Ryan O'Leary <ryanaoleary@google.com>

---------

Signed-off-by: Aaron Liang <aaronliang@google.com>
Signed-off-by: Ryan O'Leary <ryanaoleary@google.com>
Co-authored-by: Ryan O'Leary <ryanaoleary@google.com>
Signed-off-by: Cheyu Wu <cheyu1220@gmail.com>
…-project#4137)

* Allow uppercase default resource names

Signed-off-by: Ryan O'Leary <ryanaoleary@google.com>

* fix test

Signed-off-by: Ryan O'Leary <ryanaoleary@google.com>

---------

Signed-off-by: Ryan O'Leary <ryanaoleary@google.com>
…roject#4136)

* Add label selector example yaml

Signed-off-by: Ryan O'Leary <ryanaoleary@google.com>

* Refactor yaml

Signed-off-by: Ryan O'Leary <ryanaoleary@google.com>

---------

Signed-off-by: Ryan O'Leary <ryanaoleary@google.com>
…3166)

* Add incremental upgrade API changes to KubeRay

Signed-off-by: Ryan O'Leary <ryanaoleary@google.com>

Update go mod dependencies for gateway v1

Signed-off-by: Ryan O'Leary <ryanaoleary@google.com>

Add reconcile Gateway and HTTPRoute

Signed-off-by: Ryan O'Leary <ryanaoleary@google.com>

Add TargetCapacity and TrafficRoutedPercent to RayServiceStatus

Signed-off-by: Ryan O'Leary <ryanaoleary@google.com>

Add controller logic initial commit

Signed-off-by: Ryan O'Leary <ryanaoleary@google.com>

Add IncrementalUpgrade check to ShouldUpdate

Signed-off-by: Ryan O'Leary <ryanaoleary@google.com>

Update controller logic to reconcile incremental upgrade

Signed-off-by: Ryan O'Leary <ryanaoleary@google.com>

TrafficRoutedPercent should not set default value

Signed-off-by: Ryan O'Leary <ryanaoleary@google.com>

Remove test changes to TPU manifest

Signed-off-by: Ryan O'Leary <ryanaoleary@google.com>

Move helper function to utils

Signed-off-by: Ryan O'Leary <ryanaoleary@google.com>

Fix lint

Signed-off-by: Ryan O'Leary <ryanaoleary@google.com>

Fix field alignment

Signed-off-by: Ryan O'Leary <ryanaoleary@google.com>

Fix bad merge

Signed-off-by: Ryan O'Leary <ryanaoleary@google.com>

Fix CRDs and add validation test case

Signed-off-by: Ryan O'Leary <ryanaoleary@google.com>

Test create HTTPRoute and create Gateway

Signed-off-by: Ryan O'Leary <ryanaoleary@google.com>

Add reconcile tests for Gateway and HTTPRoute

Signed-off-by: Ryan O'Leary <ryanaoleary@google.com>

Fix lint

Signed-off-by: Ryan O'Leary <ryanaoleary@google.com>

Add tests for util functions and fix golangci-lint

Signed-off-by: Ryan O'Leary <ryanaoleary@google.com>

Add basic e2e test case

Signed-off-by: Ryan O'Leary <ryanaoleary@google.com>

Fix GetGatewayListeners logic and test

Signed-off-by: Ryan O'Leary <ryanaoleary@google.com>

Add gatewayv1 scheme to util runtime

Signed-off-by: Ryan O'Leary <ryanaoleary@google.com>

Check if IncrementalUpgrade is enabled before checking Gateway

Signed-off-by: Ryan O'Leary <ryanaoleary@google.com>

Fix reconcile logic for Gateway and HTTPRoute

Signed-off-by: Ryan O'Leary <ryanaoleary@google.com>

Add feature gate

Signed-off-by: Ryan O'Leary <ryanaoleary@google.com>

Always create Gateway and HTTPRoute for IncrementalUpgrade

Signed-off-by: Ryan O'Leary <ryanaoleary@google.com>

Fix target_capacity reonciliation logic

Signed-off-by: Ryan O'Leary <ryanaoleary@google.com>

Add additional unit tests

Signed-off-by: Ryan O'Leary <ryanaoleary@google.com>

Move e2e test and add another unit test

Signed-off-by: Ryan O'Leary <ryanaoleary@google.com>

* Fix some tests and create Gateway for pending cluster

Signed-off-by: Ryan O'Leary <ryanaoleary@google.com>

* Fix merge errors

Signed-off-by: Ryan O'Leary <ryanaoleary@google.com>

* Manually sync rbac for gateway

Signed-off-by: Ryan O'Leary <ryanaoleary@google.com>

* Fix bugs and e2e test

Signed-off-by: Ryan O'Leary <ryanaoleary@google.com>

* Add Makefile command

Signed-off-by: Ryan O'Leary <ryanaoleary@google.com>

* Run 'make sync'

Signed-off-by: Ryan O'Leary <ryanaoleary@google.com>

* Run 'make generate'

Signed-off-by: Ryan O'Leary <ryanaoleary@google.com>

* Fix comments

Signed-off-by: Ryan O'Leary <ryanaoleary@google.com>

* Run 'make api-docs'

Signed-off-by: Ryan O'Leary <ryanaoleary@google.com>

* Fix tests after merge conflicts

Signed-off-by: Ryan O'Leary <ryanaoleary@google.com>

* Update ray-operator/controllers/ray/rayservice_controller.go

Co-authored-by: Han-Ju Chen (Future-Outlier) <eric901201@gmail.com>
Signed-off-by: Ryan O'Leary <113500783+ryanaoleary@users.noreply.github.com>

* Update ray-operator/controllers/ray/rayservice_controller.go

Co-authored-by: Han-Ju Chen (Future-Outlier) <eric901201@gmail.com>
Signed-off-by: Ryan O'Leary <113500783+ryanaoleary@users.noreply.github.com>

* Update ray-operator/controllers/ray/rayservice_controller.go

Co-authored-by: Han-Ju Chen (Future-Outlier) <eric901201@gmail.com>
Signed-off-by: Ryan O'Leary <113500783+ryanaoleary@users.noreply.github.com>

* Fix error return

Signed-off-by: Ryan O'Leary <ryanaoleary@google.com>

* Add RayServiceIncrementalUpgrade feature gate option to helm

Signed-off-by: Ryan O'Leary <ryanaoleary@google.com>

* Remove unnecessary perms

Signed-off-by: Ryan O'Leary <ryanaoleary@google.com>

* Remove delete perm and run lint

Signed-off-by: Ryan O'Leary <ryanaoleary@google.com>

* Fix helm roles

Signed-off-by: Ryan O'Leary <ryanaoleary@google.com>

* add back required perms

Signed-off-by: Ryan O'Leary <ryanaoleary@google.com>

* Update ray-operator/controllers/ray/utils/validation.go

Co-authored-by: Han-Ju Chen (Future-Outlier) <eric901201@gmail.com>
Signed-off-by: Ryan O'Leary <113500783+ryanaoleary@users.noreply.github.com>

* Update ray-operator/controllers/ray/utils/util.go

Co-authored-by: Han-Ju Chen (Future-Outlier) <eric901201@gmail.com>
Signed-off-by: Ryan O'Leary <113500783+ryanaoleary@users.noreply.github.com>

* Update ray-operator/controllers/ray/rayservice_controller.go

Co-authored-by: Han-Ju Chen (Future-Outlier) <eric901201@gmail.com>
Signed-off-by: Ryan O'Leary <113500783+ryanaoleary@users.noreply.github.com>

* Change controller to use two serve services during upgrade

Signed-off-by: Ryan O'Leary <ryanaoleary@google.com>

* Remove Gateway and HTTPRoute API fields

Signed-off-by: Ryan O'Leary <ryanaoleary@google.com>

* Fix port errors

Signed-off-by: Ryan O'Leary <ryanaoleary@google.com>

* Fix comments and build issues

Signed-off-by: Ryan O'Leary <ryanaoleary@google.com>

* fix helm-chart-verify-rbac

Signed-off-by: Ryan O'Leary <ryanaoleary@google.com>

* Refactor tests and create HTTPRoute to be clearer

Signed-off-by: Ryan O'Leary <ryanaoleary@google.com>

* Use time &now

Signed-off-by: Ryan O'Leary <ryanaoleary@google.com>

* Update ray-operator/controllers/ray/rayservice_controller.go

Co-authored-by: Han-Ju Chen (Future-Outlier) <eric901201@gmail.com>
Signed-off-by: Ryan O'Leary <113500783+ryanaoleary@users.noreply.github.com>

* Add function comments

Signed-off-by: Ryan O'Leary <ryanaoleary@google.com>

* Fix bad merge

Signed-off-by: Ryan O'Leary <ryanaoleary@google.com>

* Add more comments

Signed-off-by: Ryan O'Leary <ryanaoleary@google.com>

* Update ray-operator/controllers/ray/rayservice_controller.go

Co-authored-by: Han-Ju Chen (Future-Outlier) <eric901201@gmail.com>
Signed-off-by: Ryan O'Leary <113500783+ryanaoleary@users.noreply.github.com>

* Add Ray Serve hostname and serve port logic

Signed-off-by: Ryan O'Leary <ryanaoleary@google.com>

* Update ray-operator/controllers/ray/rayservice_controller.go

Co-authored-by: Han-Ju Chen (Future-Outlier) <eric901201@gmail.com>
Signed-off-by: Ryan O'Leary <113500783+ryanaoleary@users.noreply.github.com>

* Update ray-operator/controllers/ray/common/service.go

Co-authored-by: Han-Ju Chen (Future-Outlier) <eric901201@gmail.com>
Signed-off-by: Ryan O'Leary <113500783+ryanaoleary@users.noreply.github.com>

* Update ray-operator/controllers/ray/common/service.go

Co-authored-by: Han-Ju Chen (Future-Outlier) <eric901201@gmail.com>
Signed-off-by: Ryan O'Leary <113500783+ryanaoleary@users.noreply.github.com>

* Update ray-operator/controllers/ray/rayservice_controller.go

Co-authored-by: Han-Ju Chen (Future-Outlier) <eric901201@gmail.com>
Signed-off-by: Ryan O'Leary <113500783+ryanaoleary@users.noreply.github.com>

* Update ray-operator/controllers/ray/rayservice_controller.go

Co-authored-by: Han-Ju Chen (Future-Outlier) <eric901201@gmail.com>
Signed-off-by: Ryan O'Leary <113500783+ryanaoleary@users.noreply.github.com>

* Update ray-operator/controllers/ray/rayservice_controller.go

Co-authored-by: Han-Ju Chen (Future-Outlier) <eric901201@gmail.com>
Signed-off-by: Ryan O'Leary <113500783+ryanaoleary@users.noreply.github.com>

* Update ray-operator/controllers/ray/rayservice_controller.go

Co-authored-by: Han-Ju Chen (Future-Outlier) <eric901201@gmail.com>
Signed-off-by: Ryan O'Leary <113500783+ryanaoleary@users.noreply.github.com>

* Fix dropped requests and old cluster config not being served

Signed-off-by: Ryan O'Leary <ryanaoleary@google.com>

* Resolve readability comments and improve structure

Signed-off-by: Ryan O'Leary <ryanaoleary@google.com>

* Refactor based on comments

Signed-off-by: Ryan O'Leary <ryanaoleary@google.com>

* Update ray-operator/controllers/ray/common/service.go

Co-authored-by: Rueian <rueiancsie@gmail.com>
Signed-off-by: Ryan O'Leary <113500783+ryanaoleary@users.noreply.github.com>

* Remove hostname from listener

Signed-off-by: Ryan O'Leary <ryanaoleary@google.com>

* ensure pending cluster scales from 0 target_capacity

Signed-off-by: Ryan O'Leary <ryanaoleary@google.com>

* Run make generate after rebase

Signed-off-by: Ryan O'Leary <ryanaoleary@google.com>

* rename upgrade type

Signed-off-by: Ryan O'Leary <ryanaoleary@google.com>

* Clean up utils and add more comments

Signed-off-by: Ryan O'Leary <ryanaoleary@google.com>

* reconcileHTTPRoute should pass created object to calculate status

Signed-off-by: Ryan O'Leary <ryanaoleary@google.com>

* lint

Signed-off-by: Ryan O'Leary <ryanaoleary@google.com>

* Update ray-operator/controllers/ray/rayservice_controller.go

Co-authored-by: Han-Ju Chen (Future-Outlier) <eric901201@gmail.com>
Signed-off-by: Ryan O'Leary <113500783+ryanaoleary@users.noreply.github.com>

* Fix test after suggested fix

Signed-off-by: Ryan O'Leary <ryanaoleary@google.com>

---------

Signed-off-by: Ryan O'Leary <ryanaoleary@google.com>
Signed-off-by: Ryan O'Leary <113500783+ryanaoleary@users.noreply.github.com>
Co-authored-by: Han-Ju Chen (Future-Outlier) <eric901201@gmail.com>
Co-authored-by: Rueian <rueiancsie@gmail.com>
* [Feature] Add initializing timeout for RayService

Signed-off-by: seanlaii <qazwsx0939059006@gmail.com>

* fix lint

* validate the annotation at the beginning

* fix lint

* add e2e

* enhance comment

* stop recreating raycluster after timeout

* refactor

---------

Signed-off-by: seanlaii <qazwsx0939059006@gmail.com>
…across all schedulers (ray-project#4123)

* [Scheduler] Replace AddMetadataToPod with AddMetadataToChildResource across all schedulers

Signed-off-by: win5923 <ken89@kimo.com>

* Extract AddSchedulerNameToObject to batchscheduler utils package

Signed-off-by: win5923 <ken89@kimo.com>

* Add test for rayv1.RayCluster to AddSchedulerNameToObject

Signed-off-by: win5923 <ken89@kimo.com>

---------

Signed-off-by: win5923 <ken89@kimo.com>
Signed-off-by: seanlaii <qazwsx0939059006@gmail.com>
ray-project#4141)

* [Bug] Sidecar mode shouldn't restart head pod when head pod is deleted

Signed-off-by: 400Ping <fourhundredping@gmail.com>

* [Fix] Fix e2e error

Signed-off-by: 400Ping <fourhundredping@gmail.com>

* [Fix] fix according to rueian's comment

Signed-off-by: 400Ping <fourhundredping@gmail.com>

* [Chore] fix ci error

Signed-off-by: 400Ping <fourhundredping@gmail.com>

* Update ray-operator/controllers/ray/raycluster_controller.go

Co-authored-by: Han-Ju Chen (Future-Outlier) <eric901201@gmail.com>
Signed-off-by: Ping <fourhundredping@gmail.com>

* Update ray-operator/controllers/ray/rayjob_controller.go

Co-authored-by: Han-Ju Chen (Future-Outlier) <eric901201@gmail.com>
Signed-off-by: Ping <fourhundredping@gmail.com>

* update

Signed-off-by: Future-Outlier <eric901201@gmail.com>

* update

Signed-off-by: Future-Outlier <eric901201@gmail.com>

* Trigger CI

Signed-off-by: Future-Outlier <eric901201@gmail.com>

---------

Signed-off-by: 400Ping <fourhundredping@gmail.com>
Signed-off-by: Ping <fourhundredping@gmail.com>
Signed-off-by: Future-Outlier <eric901201@gmail.com>
Co-authored-by: Han-Ju Chen (Future-Outlier) <eric901201@gmail.com>
Signed-off-by: Future-Outlier <eric901201@gmail.com>
…i-slice (ray-project#4163)

* [Feature Enhancement] Set ordered replica index label to support multi-slice

Signed-off-by: Ryan O'Leary <ryanaoleary@google.com>

* rename replica-id -> replica-name

Signed-off-by: Ryan O'Leary <ryanaoleary@google.com>

* Separate replica index feature gate logic

Signed-off-by: Ryan O'Leary <ryanaoleary@google.com>

* remove index arg in createWorkerPod

Signed-off-by: Ryan O'Leary <ryanaoleary@google.com>

---------

Signed-off-by: Ryan O'Leary <ryanaoleary@google.com>
Signed-off-by: Andrew Sy Kim <andrewsy@google.com>
kryanbeane and others added 16 commits June 25, 2026 13:17
* conf: add pattern references for common change types

Add real codebase examples for the 5 most common change patterns:
CRD fields, controller reconcilers, e2e tests, midstream carries,
and kustomize/webhook changes.

Ref: RHOAIENG-61476 (Tier 2 item 2.1)

Signed-off-by: Bryan Keane <bkeane@redhat.com>
Co-authored-by: Cursor <cursoragent@cursor.com>

* conf: add Cursor hooks for auto-format and dangerous op blocking

- afterFileEdit hook runs gofumpt (or gofmt fallback) on saved .go files
- beforeShellExecution hook blocks git push --force and rm -rf

Ref: RHOAIENG-61476 (Tier 2 item 2.2)

Signed-off-by: Bryan Keane <bkeane@redhat.com>
Co-authored-by: Cursor <cursoragent@cursor.com>

* conf: add directory layout lookup table

Add a task-oriented "Where to Make Changes" table so agents and
developers can quickly find the right directory for any change type.

Ref: RHOAIENG-61476 (Tier 2 item 2.5)

Signed-off-by: Bryan Keane <bkeane@redhat.com>
Co-authored-by: Cursor <cursoragent@cursor.com>

---------

Signed-off-by: Bryan Keane <bkeane@redhat.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Signed-off-by: Pat O'Connor <paoconno@redhat.com>
fix(RHOAIENG-72302): Include worker in mtls init container
RHOAIENG-57446: integrate autoscaling tests into tier1 tests
…3699-fix-image-propagation

RHOAIENG-63699: integrate kube-rbac-proxy image with ODH operator ima…
* refactor: remove dead OAuth proxy sidecar code

Both ModeIntegratedOAuth and ModeOIDC now exclusively use the
kube-rbac-proxy (OIDC) sidecar. The legacy ose-oauth-proxy path
(GetOAuthProxySidecar, GetOAuthProxyVolumes, generateSelfSignedCert,
FormatOAuthDelegateURLs, and associated constants) was never called
from production code and used an unresolvable :latest image tag
unsuitable for disconnected environments.

Signed-off-by: Laura Fitzgerald <lfitzger@redhat.com>
Generated by Cursor
Co-authored-by: Cursor <cursoragent@cursor.com>

* fix: run end-of-file-fixer pre-commit hook

---------

Signed-off-by: Laura Fitzgerald <lfitzger@redhat.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: kryanbeane <bryankeane0@gmail.com>
…nt (opendatahub-io#211)

* RHOAIENG-69996: rename RELATED_IMAGE_OSE_KUBE_RBAC_PROXY to ODH variant

Aligns with the naming convention used by all other operator components.

* RHOAIENG-69996: remove dead RELATED_IMAGE_ODH_KUBE_AUTH_PROXY_IMAGE fallback

Pawel/Laura's opendatahub-io#202 (e56d7f4) removed the only place that ever set this
env var (manager.yaml), so the fallback in init() could never fire.
RELATED_IMAGE_ODH_KUBE_RBAC_PROXY_IMAGE is the only override path left.
Signed-off-by: Pat O'Connor <paoconno@redhat.com>
Cherry-pick release-1.6.2 changes from ray-project/kuberay:
- RayService finalizer and deletion reconciliation
- GCS FT finalizer timeout for stuck Redis cleanup jobs
- Version bump to v1.6.2 in helm charts and kustomization
task(RHOAIENG-62029: Update test image to Ray 2.55.1
RHOAIENG-75779: fix autoscaling tests throwing OOM
@CathalOConnorRH CathalOConnorRH changed the title 1.6.1 sync fixed 1.6.2 sync fixed Jul 9, 2026
@pawelpaszki

Copy link
Copy Markdown

there might be some missing updates, which we can fix once we try to merge the target branch onto dev, but the immediate one that I can see is missing entry in the .gitignore: scripts/update-resources.

I'll try to verify the PR shortly

@pawelpaszki

Copy link
Copy Markdown

✅ OK to merge to rhoai-3.5-GA-release — address outstanding items before merging to dev

Review focused on the upstream v1.6.2 sync and ODH e2e/containerised test setup. This PR is reasonable to merge onto rhoai-3.5-GA-release for initial verification, but the follow-up rhoai-3.5-GA-releasedev integration PR should deliberately resolve the items below (including reconciliation with an outdated dev base and companion odh-konflux-central updates).


Executive summary

Large upstream sync (375 commits, ~115k additions) from v1.4.2 → v1.6.2. ODH-specific work on top includes e2e path updates, matrix PR e2e runner, auth controller OpenShift guard, and v1.6.2 cherry-pick.

GitHub Actions PR e2e subset is green (all 4 matrix jobs pass). Main gaps are in the containerised / Konflux e2e path and in reconciling with current dev.

Check Status (last run)
Lint, build, helm/codegen verify ✅ Pass
e2e-rayjob (4 matrix jobs) ✅ Pass
Operator Chaos ❌ Fail — 1 breaking CRD change
CodeRabbit Skipped (713 files > 150 limit)

E2E test setup

1. GitHub Actions PR e2e (Kind) — ✅ good

The refactor (scripts/run-e2e-rayjob-kind.sh, build-once + matrix) looks solid:

  • Build once, test in parallel via artifact + matrix
  • One test per invocation avoids OOM/concurrency issues with TestRayJobWithClusterSelector
  • Correct package path: ./test/e2erayjob
  • Go 1.25, Ray image rayproject/ray:2.52.1

2. Container test image (quay.io/opendatahub/kuberay-tests) — partially updated

Updated correctly in this PR:

  • run-tests.sh tier → package mapping for upstream split layout
  • Smoke tier renamed auth test: TestRayClusterAuthenticationTestRayClusterAuthOptions
  • Tier1 timeout bumped to 60m (autoscaler included)
  • Root Makefile paths updated for test/support/support.go and test/e2erayjob/

Outstanding issues (fix before / during dev merge):

Issue Severity Detail
Go version mismatch in test Dockerfile High ray-operator/images/tests/Dockerfile uses golang:1.24 but go.mod requires 1.25go mod download fails in container build (GOTOOLCHAIN=local). Bump to golang:1.25.
Missing autoscaler resource patch in Makefile High Current dev patches ray-operator/test/e2eautoscaler/support.go for build-image; this PR drops that step while Tier1 runs ./test/e2eautoscaler. Restore with new paths during dev merge.
.env-odh Ray image Medium Still pins an older quay.io/modh/ray digest. Smoke tier runs token auth tests requiring Ray ≥ 2.52. GH Actions uses rayproject/ray:2.52.1; container tests may not. Reconcile with dev's digest or update to verified 2.52+.
odh-release.yml stale path Low Still compiles ./test/e2e/ — may produce incomplete/wrong release artifacts.

3. odh-konflux-central — will break once this lands on dev

Pipeline still references pre-upstream-sync paths:

go run ../scripts/update-resources.go -scenario build-image test/e2e/support.go

After this sync lands on dev, update to at minimum:

go run ../scripts/update-resources.go -scenario build-image test/support/support.go
go run ../scripts/update-resources.go -scenario build-image test/e2erayjob/rayjob_lightweight_test.go
go run ../scripts/update-resources.go -scenario build-image test/e2eautoscaler/support.go

Note: Konflux ITS is configured for on-target-branch: [dev], so it won't run against this PR's target (rhoai-3.5-GA-release) — final containerised verification belongs on the dev integration PR, alongside rebuilding/pushing kuberay-tests:latest.

Existing odh-konflux-central branch work (kuberay-e2e-more-fixes) has SCC//tmp clone/must-gather improvements but not the path migration above.


Other notable findings

Operator Chaos failure — expected, needs decision

Fails on one breaking CRD change:

rayjobs.ray.io v1FieldRemoved (Breaking): .spec.deletionPolicy
replaced by .spec.deletionStrategy

Intentional upstream API evolution for v1.6.x. For a 1.4.2 → 1.6.2 jump, either update chaos/knowledge/kuberay.yaml or document a bootstrap waiver.

ODH midstream fix — looks good

AuthenticationController guards Route ownership behind IsOpenShift — sensible for Kind/non-OCP tests.

PR hygiene

  • Description empty; testing checklist unchecked despite green e2e
  • Branch name 1.6.1-sync-fixed vs title/content 1.6.2
  • CodeRabbit skipped due to size — manual review of CRD/RBAC/auth/webhook midstream code still warranted before GA

Recommended action plan

Merge now (this PR → rhoai-3.5-GA-release)

  • Upstream sync + GH Actions Kind e2e verification
  • Do not block on Konflux ITS (targets dev only)

Before / during rhoai-3.5-GA-releasedev integration PR

In kuberay:

  1. Bump ray-operator/images/tests/Dockerfile to golang:1.25
  2. Restore autoscaler patching in root Makefile with new paths
  3. Verify/update .env-odh to Ray 2.52+ (reconcile with current dev digest)
  4. Fix or deprecate odh-release.yml compile path
  5. Update chaos/knowledge/kuberay.yaml for v1.6.2 CRDs (or document operator-chaos waiver)

In odh-konflux-central (companion PR):

  1. Update integration-tests/kuberay/pr-testing-pipeline.yaml resource patch paths
  2. Merge/rebase existing konflux kuberay fixes
  3. Rebuild and push kuberay-tests:latest
  4. Run full Tier1+Smoke ITS on a PR targeting dev

Verdict

Approve for merge to rhoai-3.5-GA-release. Treat the path to dev as the definitive integration gate — especially containerised/Konflux e2e, test-image rebuild, and reconciliation with the outdated dev base.

pawelpaszki and others added 5 commits July 10, 2026 11:04
RHOAIENG-75966: Fix stale odh-stable image — add CI push pipeline on stable branch
Integrate midstream dev changes (RHOAIENG fixes, OAuth cleanup,
operator-chaos, Ray 2.55.1 test image) with upstream v1.6.1/v1.6.2 sync.

# Conflicts:
#	Makefile
#	ray-operator/controllers/ray/raycluster_controller.go
#	ray-operator/images/tests/run-tests.sh
Align the kuberay-tests container with ray-operator/go.mod (Go 1.25),
use GOFLAGS=-mod=mod, and remove stale vendor/ so builds succeed.
@pawelpaszki

Copy link
Copy Markdown

Sync review: ODH carry dropped during 1.6.x merge

While validating Tier1/Smoke against this branch (custom ImageStream deploy, Ray set to Removed), several auth-related e2e failures looked genuine, not flukes from unmanaged Ray.

Failures observed

  • TestRayClusterAuthOptions / RayJob lightweight auth: RayCluster becomes Ready, but ray-head has no RAY_AUTH_MODE
  • TestRayJob/Successful_RayJob: counter-head-svc not found (weaker signal; may be secondary/flake)
  • Most non-auth tests passed (autoscaler, lightweight RayJob success/fail/stop, suspend, cluster selector)

Important distinction

There are two different auth models:

  1. ODH / OpenShift auth (midstream carry): odh.ray.io/secure-trusted-network + kube-rbac-proxy sidecar via AuthenticationController
  2. Upstream Ray token auth (1.6.x): spec.authOptions.mode=tokenRAY_AUTH_MODE / RAY_AUTH_TOKEN

Base (rhoai-3.5-GA-release) e2e tested (1). This PR replaced that with upstream tests for (2). kube-rbac-proxy in failing-test logs is (1), not proof that (2) was applied.


What was dropped (not whole files — call sites / wiring)

These helpers still exist on both base and this branch:

  • ray-operator/controllers/ray/utils/auth_sidecar.go (InjectAuthSidecar)
  • ray-operator/controllers/ray/authentication_controller.go (GetOIDCProxySidecar / GetOIDCProxyVolumes)
  • mutating webhook / mTLS / networkpolicy carries

What the sync removed from ray-operator/controllers/ray/raycluster_controller.go (vs rhoai-3.5-GA-release):

  1. AuthenticationReady gate before head pod create
    Base ~lines 1158–1188 — wait for auth SA / AuthenticationReady before calling buildHeadPod.

  2. InjectAuthSidecar in buildHeadPod
    Base ~lines 1261–1282 — inject kube-rbac-proxy via:

    utils.InjectAuthSidecar(
        &podConf.Spec,
        &instance,
        authMode,
        GetOIDCProxySidecar,
        GetOIDCProxyVolumes,
        namer.ServiceAccountName(authMode),
    )

    This call site is absent from current buildHeadPod on this branch.

  3. ODH auth e2e overwritten in ray-operator/test/e2e/raycluster_auth_test.go

    • Base: TestRayClusterAuthentication (sidecar / OpenShift auth)
    • This PR: TestRayClusterAuthOptions (upstream Ray token auth only)

Suggestions

  1. Re-carry the AuthenticationReady gate and InjectAuthSidecar wiring from base into current raycluster_controller.go, alongside upstream reconcileAuthSecret + configureTokenAuth / AuthOptions.
  2. Keep both e2e covers:
    • ODH OpenShift auth (TestRayClusterAuthentication / kube-rbac-proxy)
    • Upstream token auth (authOptions.mode=tokenRAY_AUTH_*)
  3. Rebuild + redeploy the operator from the fixed tree, then re-run the failing auth tests (and ideally the old ODH auth test).

Priority file: ray-operator/controllers/ray/raycluster_controller.go — helpers are still present; the sync stopped calling them.

@pawelpaszki pawelpaszki 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.

Verified by building and deploying kuberay to a cluster and running all e2e tests that we usually run (tier1 + smoke). all good

@pawelpaszki
pawelpaszki merged commit 40a6500 into opendatahub-io:rhoai-3.5-GA-release Jul 17, 2026
18 of 19 checks passed
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.