Adding Tier1 kuberay e2e tests Adding Smoke kuberay e2e tests (authentication validation) Running e2e tests matching: ^(TestRayJobWithClusterSelector|TestRayJob|TestRayJobSuspend|TestRayJobLightWeightMode|TestRayClusterAuthentication)$ go: downloading k8s.io/apimachinery v0.34.1 go: downloading github.com/stretchr/testify v1.11.0 go: downloading github.com/onsi/gomega v1.37.0 go: downloading k8s.io/utils v0.0.0-20250820121507-0af2bda4dd1d go: downloading k8s.io/api v0.34.1 go: downloading k8s.io/client-go v0.34.1 go: downloading sigs.k8s.io/controller-runtime v0.22.1 go: downloading github.com/openshift/api v0.0.0-20250602203052-b29811a290c7 go: downloading github.com/pkg/errors v0.9.1 go: downloading github.com/Masterminds/semver/v3 v3.3.1 go: downloading sigs.k8s.io/yaml v1.6.0 go: downloading github.com/go-logr/logr v1.4.3 go: downloading k8s.io/apiserver v0.34.1 go: downloading k8s.io/component-base v0.34.1 go: downloading github.com/onsi/ginkgo/v2 v2.23.4 go: downloading go.yaml.in/yaml/v2 v2.4.2 go: downloading github.com/google/go-cmp v0.7.0 go: downloading github.com/evanphx/json-patch/v5 v5.9.11 go: downloading github.com/gogo/protobuf v1.3.2 go: downloading sigs.k8s.io/randfill v1.0.0 go: downloading gopkg.in/inf.v0 v0.9.1 go: downloading k8s.io/klog/v2 v2.130.1 go: downloading sigs.k8s.io/structured-merge-diff/v6 v6.3.0 go: downloading sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730 go: downloading golang.org/x/net v0.43.0 go: downloading gopkg.in/yaml.v3 v3.0.1 go: downloading k8s.io/kube-openapi v0.0.0-20250814151709-d7b6acb124c3 go: downloading github.com/prometheus/client_golang v1.23.0 go: downloading gomodules.xyz/jsonpatch/v2 v2.4.0 go: downloading github.com/spf13/pflag v1.0.7 go: downloading github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc go: downloading github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 go: downloading github.com/json-iterator/go v1.1.12 go: downloading k8s.io/apiextensions-apiserver v0.34.1 go: downloading github.com/google/uuid v1.6.0 go: downloading github.com/prometheus/client_model v0.6.2 go: downloading github.com/prometheus/common v0.65.0 go: downloading github.com/fxamacker/cbor/v2 v2.9.0 go: downloading golang.org/x/text v0.28.0 go: downloading github.com/google/btree v1.1.3 go: downloading golang.org/x/sync v0.16.0 go: downloading golang.org/x/sys v0.35.0 go: downloading github.com/google/gnostic-models v0.7.0 go: downloading go.yaml.in/yaml/v3 v3.0.4 go: downloading github.com/go-openapi/jsonreference v0.21.0 go: downloading github.com/go-openapi/swag v0.23.1 go: downloading github.com/beorn7/perks v1.0.1 go: downloading github.com/cespare/xxhash/v2 v2.3.0 go: downloading github.com/prometheus/procfs v0.17.0 go: downloading google.golang.org/protobuf v1.36.8 go: downloading github.com/blang/semver/v4 v4.0.0 go: downloading github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee go: downloading go.opentelemetry.io/otel/trace v1.35.0 go: downloading github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd go: downloading github.com/x448/float16 v0.8.4 go: downloading github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 go: downloading golang.org/x/term v0.34.0 go: downloading github.com/gorilla/websocket v1.5.4-0.20250319132907-e064f32e3674 go: downloading golang.org/x/time v0.12.0 go: downloading golang.org/x/oauth2 v0.30.0 go: downloading github.com/moby/spdystream v0.5.0 go: downloading github.com/mailru/easyjson v0.9.0 go: downloading gopkg.in/evanphx/json-patch.v4 v4.13.0 go: downloading github.com/go-openapi/jsonpointer v0.21.2 go: downloading github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f go: downloading go.opentelemetry.io/otel v1.35.0 go: downloading github.com/emicklei/go-restful/v3 v3.13.0 go: downloading github.com/josharian/intern v1.0.0 === RUN TestRayClusterAuthentication raycluster_auth_test.go:34: [2026-05-26T11:53:02Z] Created RayCluster test-ns-fx2x2/raycluster-auth with authentication enabled raycluster_auth_test.go:36: [2026-05-26T11:53:02Z] Waiting for RayCluster test-ns-fx2x2/raycluster-auth to become ready === RUN TestRayClusterAuthentication/Auth_proxy_sidecar_is_injected_into_head_pod --- PASS: TestRayClusterAuthentication/Auth_proxy_sidecar_is_injected_into_head_pod (0.00s) === RUN TestRayClusterAuthentication/Unauthenticated_request_to_auth_proxy_is_rejected core.go:87: [2026-05-26T11:57:03Z] Executing command: [python3 -c import urllib.request, ssl ctx = ssl.create_default_context() ctx.check_hostname = False ctx.verify_mode = ssl.CERT_NONE try: urllib.request.urlopen(urllib.request.Request('https://localhost:8443/'), context=ctx, timeout=5) print('STATUS:200') except urllib.error.HTTPError as e: print('STATUS:' + str(e.code)) except Exception as e: print('ERROR:' + str(e)) ] core.go:100: [2026-05-26T11:57:04Z] Command stdout: STATUS:401 core.go:101: [2026-05-26T11:57:04Z] Command stderr: --- PASS: TestRayClusterAuthentication/Unauthenticated_request_to_auth_proxy_is_rejected (0.16s) test.go:114: [2026-05-26T11:57:04Z] Retrieving Pod Container test-ns-fx2x2/raycluster-auth-head-ff2ll/ray-head logs test.go:102: [2026-05-26T11:57:04Z] Creating ephemeral output directory as KUBERAY_TEST_OUTPUT_DIR env variable is unset test.go:105: [2026-05-26T11:57:04Z] Output directory has been created at: /tmp/TestRayClusterAuthentication4032042506/001 test.go:114: [2026-05-26T11:57:04Z] Retrieving Pod Container test-ns-fx2x2/raycluster-auth-head-ff2ll/kube-rbac-proxy logs test.go:114: [2026-05-26T11:57:04Z] Retrieving Pod Container test-ns-fx2x2/raycluster-auth-small-group-worker-n6d2q/ray-worker logs --- PASS: TestRayClusterAuthentication (241.66s) === RUN TestRayJobWithClusterSelector rayjob_cluster_selector_test.go:27: [2026-05-26T11:57:04Z] Created ConfigMap test-ns-cjn8t/jobs successfully rayjob_cluster_selector_test.go:35: [2026-05-26T11:57:04Z] Created RayCluster test-ns-cjn8t/raycluster successfully rayjob_cluster_selector_test.go:37: [2026-05-26T11:57:04Z] Waiting for RayCluster test-ns-cjn8t/raycluster to become ready === RUN TestRayJobWithClusterSelector/Successful_RayJob === PAUSE TestRayJobWithClusterSelector/Successful_RayJob === RUN TestRayJobWithClusterSelector/Failing_RayJob === PAUSE TestRayJobWithClusterSelector/Failing_RayJob === RUN TestRayJobWithClusterSelector/RayJob_should_be_created_but_not_to_be_updated_when_managed_externally === PAUSE TestRayJobWithClusterSelector === RUN TestRayJobLightWeightMode rayjob_lightweight_test.go:27: [2026-05-26T11:57:45Z] Created ConfigMap test-ns-pqtcs/jobs successfully === RUN TestRayJobLightWeightMode/Successful_RayJob rayjob_lightweight_test.go:56: [2026-05-26T11:57:45Z] Created RayJob test-ns-pqtcs/counter successfully rayjob_lightweight_test.go:58: [2026-05-26T11:57:45Z] Waiting for RayJob test-ns-pqtcs/counter to complete --- PASS: TestRayJobLightWeightMode/Successful_RayJob (108.60s) === RUN TestRayJobLightWeightMode/Failing_RayJob_without_cluster_shutdown_after_finished rayjob_lightweight_test.go:90: [2026-05-26T11:59:34Z] Created RayJob test-ns-pqtcs/fail successfully rayjob_lightweight_test.go:92: [2026-05-26T11:59:34Z] Waiting for RayJob test-ns-pqtcs/fail to complete --- PASS: TestRayJobLightWeightMode/Failing_RayJob_without_cluster_shutdown_after_finished (96.52s) === RUN TestRayJobLightWeightMode/Should_transition_to_'Complete'_if_the_Ray_job_has_stopped. rayjob_lightweight_test.go:121: [2026-05-26T12:01:10Z] Created RayJob test-ns-pqtcs/stop successfully rayjob_lightweight_test.go:123: [2026-05-26T12:01:10Z] Waiting for RayJob test-ns-pqtcs/stop to be 'Running' rayjob_lightweight_test.go:127: [2026-05-26T12:02:55Z] Waiting for RayJob test-ns-pqtcs/stop to be 'Complete' rayjob_lightweight_test.go:137: [2026-05-26T12:03:20Z] Deleted RayJob test-ns-pqtcs/stop successfully --- PASS: TestRayJobLightWeightMode/Should_transition_to_'Complete'_if_the_Ray_job_has_stopped. (129.71s) test.go:114: [2026-05-26T12:03:20Z] Retrieving Pod Container test-ns-pqtcs/fail-brpht-head-g27jn/ray-head logs test.go:102: [2026-05-26T12:03:20Z] Creating ephemeral output directory as KUBERAY_TEST_OUTPUT_DIR env variable is unset test.go:105: [2026-05-26T12:03:20Z] Output directory has been created at: /tmp/TestRayJobLightWeightMode17209908/001 test.go:114: [2026-05-26T12:03:20Z] Retrieving Pod Container test-ns-pqtcs/fail-brpht-head-g27jn/kube-rbac-proxy logs test.go:114: [2026-05-26T12:03:20Z] Retrieving Pod Container test-ns-pqtcs/fail-brpht-small-group-worker-f5ws9/ray-worker logs test.go:114: [2026-05-26T12:03:20Z] Retrieving Pod Container test-ns-pqtcs/stop-npsgz-head-nr5w4/ray-head logs test.go:114: [2026-05-26T12:03:20Z] Retrieving Pod Container test-ns-pqtcs/stop-npsgz-head-nr5w4/kube-rbac-proxy logs test.go:114: [2026-05-26T12:03:20Z] Retrieving Pod Container test-ns-pqtcs/stop-npsgz-small-group-worker-kjv6m/ray-worker logs --- PASS: TestRayJobLightWeightMode (334.97s) === RUN TestRayJobSuspend rayjob_suspend_test.go:27: [2026-05-26T12:03:20Z] Created ConfigMap test-ns-mr7tp/jobs successfully === RUN TestRayJobSuspend/Suspend_the_RayJob_when_its_status_is_'Running',_and_then_resume_it. rayjob_suspend_test.go:41: [2026-05-26T12:03:20Z] Created RayJob test-ns-mr7tp/long-running successfully rayjob_suspend_test.go:43: [2026-05-26T12:03:20Z] Waiting for RayJob test-ns-mr7tp/long-running to be 'Running' rayjob_suspend_test.go:47: [2026-05-26T12:03:45Z] Suspend the RayJob test-ns-mr7tp/long-running rayjob_suspend_test.go:52: [2026-05-26T12:03:45Z] Waiting for RayJob test-ns-mr7tp/long-running to be 'Suspended' rayjob_suspend_test.go:68: [2026-05-26T12:03:46Z] Resume the RayJob by updating `suspend` to false. rayjob_suspend_test.go:78: [2026-05-26T12:04:11Z] Deleted RayJob test-ns-mr7tp/long-running successfully --- PASS: TestRayJobSuspend/Suspend_the_RayJob_when_its_status_is_'Running',_and_then_resume_it. (51.33s) === RUN TestRayJobSuspend/Create_a_suspended_RayJob,_and_then_resume_it. rayjob_suspend_test.go:97: [2026-05-26T12:04:11Z] Created RayJob test-ns-mr7tp/counter successfully rayjob_suspend_test.go:99: [2026-05-26T12:04:11Z] Waiting for RayJob test-ns-mr7tp/counter to be 'Suspended' rayjob_suspend_test.go:103: [2026-05-26T12:04:12Z] Resume the RayJob by updating `suspend` to false. rayjob_suspend_test.go:108: [2026-05-26T12:04:12Z] Waiting for RayJob test-ns-mr7tp/counter to complete rayjob_suspend_test.go:123: [2026-05-26T12:04:57Z] Deleted RayJob test-ns-mr7tp/counter successfully --- PASS: TestRayJobSuspend/Create_a_suspended_RayJob,_and_then_resume_it. (47.31s) test.go:102: [2026-05-26T12:04:59Z] Creating ephemeral output directory as KUBERAY_TEST_OUTPUT_DIR env variable is unset test.go:105: [2026-05-26T12:04:59Z] Output directory has been created at: /tmp/TestRayJobSuspend4191138845/001 --- PASS: TestRayJobSuspend (98.69s) === RUN TestRayJob rayjob_test.go:29: [2026-05-26T12:04:59Z] Created ConfigMap test-ns-jqrng/jobs successfully === RUN TestRayJob/Successful_RayJob rayjob_test.go:46: [2026-05-26T12:04:59Z] Created RayJob test-ns-jqrng/counter successfully rayjob_test.go:48: [2026-05-26T12:04:59Z] Waiting for RayJob test-ns-jqrng/counter to complete rayjob_test.go:64: [2026-05-26T12:05:46Z] Checking that the RayJob status info has been set correctly. rayjob_test.go:81: [2026-05-26T12:05:46Z] Update `suspend` to true. However, since the RayJob is completed, the status should not be updated to `Suspended`. rayjob_test.go:91: [2026-05-26T12:06:16Z] Deleted RayJob test-ns-jqrng/counter successfully --- PASS: TestRayJob/Successful_RayJob (77.31s) === RUN TestRayJob/Failing_RayJob_without_cluster_shutdown_after_finished rayjob_test.go:105: [2026-05-26T12:06:16Z] Created RayJob test-ns-jqrng/fail successfully rayjob_test.go:107: [2026-05-26T12:06:16Z] Waiting for RayJob test-ns-jqrng/fail to complete rayjob_test.go:130: [2026-05-26T12:07:02Z] Deleted RayJob test-ns-jqrng/fail successfully --- PASS: TestRayJob/Failing_RayJob_without_cluster_shutdown_after_finished (47.30s) === RUN TestRayJob/Failing_submitter_K8s_Job rayjob_test.go:158: [2026-05-26T12:07:03Z] Created RayJob test-ns-jqrng/fail-k8s-job successfully rayjob_test.go:160: [2026-05-26T12:07:03Z] Waiting for RayJob test-ns-jqrng/fail-k8s-job to complete rayjob_test.go:183: [2026-05-26T12:08:12Z] Deleted RayJob test-ns-jqrng/fail-k8s-job successfully --- PASS: TestRayJob/Failing_submitter_K8s_Job (68.42s) === RUN TestRayJob/Should_transition_to_'Complete'_if_the_Ray_job_has_stopped. rayjob_test.go:197: [2026-05-26T12:08:12Z] Created RayJob test-ns-jqrng/stop successfully rayjob_test.go:199: [2026-05-26T12:08:12Z] Waiting for RayJob test-ns-jqrng/stop to be 'Running' rayjob_test.go:203: [2026-05-26T12:09:39Z] Waiting for RayJob test-ns-jqrng/stop to be 'Complete' rayjob_test.go:213: [2026-05-26T12:10:15Z] Deleted RayJob test-ns-jqrng/stop successfully --- PASS: TestRayJob/Should_transition_to_'Complete'_if_the_Ray_job_has_stopped. (123.70s) === RUN TestRayJob/RuntimeEnvYAML_is_not_a_valid_YAML_string rayjob_test.go:225: [2026-05-26T12:10:15Z] Created RayJob test-ns-jqrng/invalid-yamlstr successfully --- PASS: TestRayJob/RuntimeEnvYAML_is_not_a_valid_YAML_string (5.01s) === RUN TestRayJob/RayJob_has_passed_ActiveDeadlineSeconds rayjob_test.go:244: [2026-05-26T12:10:20Z] Created RayJob test-ns-jqrng/long-running successfully rayjob_test.go:247: [2026-05-26T12:10:20Z] Waiting for RayJob test-ns-jqrng/long-running to be 'Complete' --- PASS: TestRayJob/RayJob_has_passed_ActiveDeadlineSeconds (7.06s) === RUN TestRayJob/RayJob_should_be_created,_but_not_updated_when_managed_externally rayjob_test.go:270: [2026-05-26T12:10:27Z] Created RayJob test-ns-jqrng/managed-externally successfully rayjob_test.go:296: [2026-05-26T12:10:27Z] Deleted RayJob test-ns-jqrng/managed-externally successfully --- PASS: TestRayJob/RayJob_should_be_created,_but_not_updated_when_managed_externally (0.04s) test.go:114: [2026-05-26T12:10:27Z] Retrieving Pod Container test-ns-jqrng/long-running-nv75x-head-rjhn4/ray-head logs test.go:114: [2026-05-26T12:10:28Z] Error getting logs from container test-ns-jqrng/long-running-nv75x-head-rjhn4/ray-head test.go:114: [2026-05-26T12:10:28Z] Retrieving Pod Container test-ns-jqrng/long-running-nv75x-head-rjhn4/kube-rbac-proxy logs test.go:114: [2026-05-26T12:10:28Z] Error getting logs from container test-ns-jqrng/long-running-nv75x-head-rjhn4/kube-rbac-proxy test.go:114: [2026-05-26T12:10:28Z] Retrieving Pod Container test-ns-jqrng/long-running-nv75x-small-group-worker-4hqnt/ray-worker logs test.go:114: [2026-05-26T12:10:28Z] Error getting logs from container test-ns-jqrng/long-running-nv75x-small-group-worker-4hqnt/ray-worker test.go:102: [2026-05-26T12:10:28Z] Creating ephemeral output directory as KUBERAY_TEST_OUTPUT_DIR env variable is unset test.go:105: [2026-05-26T12:10:28Z] Output directory has been created at: /tmp/TestRayJob3129077493/001 --- PASS: TestRayJob (328.94s) === CONT TestRayJobWithClusterSelector rayjob_cluster_selector_test.go:109: [2026-05-26T12:10:28Z] Created RayJob test-ns-cjn8t/managed-externally successfully --- PASS: TestRayJobWithClusterSelector/RayJob_should_be_created_but_not_to_be_updated_when_managed_externally (765.61s) === RUN TestRayJobWithClusterSelector/RayJob_should_not_be_created_due_to_managedBy_invalid_value --- PASS: TestRayJobWithClusterSelector/RayJob_should_not_be_created_due_to_managedBy_invalid_value (0.01s) === CONT TestRayJobWithClusterSelector/Successful_RayJob rayjob_cluster_selector_test.go:57: [2026-05-26T12:10:31Z] Created RayJob test-ns-cjn8t/counter successfully rayjob_cluster_selector_test.go:59: [2026-05-26T12:10:31Z] Waiting for RayJob test-ns-cjn8t/counter to complete --- PASS: TestRayJobWithClusterSelector/Successful_RayJob (19.10s) === CONT TestRayJobWithClusterSelector/Failing_RayJob rayjob_cluster_selector_test.go:81: [2026-05-26T12:10:50Z] Created RayJob test-ns-cjn8t/fail successfully rayjob_cluster_selector_test.go:83: [2026-05-26T12:10:50Z] Waiting for RayJob test-ns-cjn8t/fail to complete --- PASS: TestRayJobWithClusterSelector/Failing_RayJob (11.07s) test.go:114: [2026-05-26T12:11:01Z] Retrieving Pod Container test-ns-cjn8t/counter-xww9s/ray-job-submitter logs test.go:102: [2026-05-26T12:11:01Z] Creating ephemeral output directory as KUBERAY_TEST_OUTPUT_DIR env variable is unset test.go:105: [2026-05-26T12:11:01Z] Output directory has been created at: /tmp/TestRayJobWithClusterSelector2611455459/001 test.go:114: [2026-05-26T12:11:01Z] Retrieving Pod Container test-ns-cjn8t/fail-qffjm/ray-job-submitter logs test.go:114: [2026-05-26T12:11:01Z] Retrieving Pod Container test-ns-cjn8t/raycluster-head-mx6wb/ray-head logs test.go:114: [2026-05-26T12:11:01Z] Retrieving Pod Container test-ns-cjn8t/raycluster-head-mx6wb/kube-rbac-proxy logs test.go:114: [2026-05-26T12:11:01Z] Retrieving Pod Container test-ns-cjn8t/raycluster-small-group-worker-vjjmf/ray-worker logs --- PASS: TestRayJobWithClusterSelector (44.34s) PASS ok github.com/ray-project/kuberay/ray-operator/test/e2e 1078.797s DONE 23 tests in 1078.806s