Skip to content

Commit 83691ff

Browse files
[cherry-pick][RayJob] allow create verb for services/proxy, which is required for HTTPMode (#2321) (#2337)
Signed-off-by: Andrew Sy Kim <[email protected]> Co-authored-by: Andrew Sy Kim <[email protected]>
1 parent 37ad765 commit 83691ff

File tree

6 files changed

+13
-1
lines changed

6 files changed

+13
-1
lines changed

helm-chart/kuberay-operator/templates/_helpers.tpl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -177,6 +177,7 @@ rules:
177177
resources:
178178
- services/proxy
179179
verbs:
180+
- create
180181
- get
181182
- patch
182183
- update

helm-chart/kuberay-operator/templates/deployment.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,9 @@ spec:
8282
{{- $argList = append $argList "--log-file-encoder" -}}
8383
{{- $argList = append $argList .Values.logging.fileEncoder -}}
8484
{{- end -}}
85+
{{- if hasKey .Values "useKubernetesProxy" -}}
86+
{{- $argList = append $argList (printf "--use-kubernetes-proxy=%t" .Values.useKubernetesProxy) -}}
87+
{{- end -}}
8588
{{- if hasKey .Values "leaderElectionEnabled" -}}
8689
{{- $argList = append $argList (printf "--enable-leader-election=%t" .Values.leaderElectionEnabled) -}}
8790
{{- end -}}

helm-chart/kuberay-operator/values.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,9 @@ securityContext:
7878
seccompProfile:
7979
type: RuntimeDefault
8080

81+
# if userKubernetesProxy is set to true, the KubeRay operator will be configured with the --use-kubernetes-proxy flag.
82+
# Using this option to configure kuberay-operator to comunitcate to Ray head pods by proxying through the Kubernetes API Server.
83+
# useKubernetesProxy: true
8184

8285
# If leaderElectionEnabled is set to true, the KubeRay operator will use leader election for high availability.
8386
leaderElectionEnabled: true

ray-operator/config/rbac/role.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,7 @@ rules:
105105
resources:
106106
- services/proxy
107107
verbs:
108+
- create
108109
- get
109110
- patch
110111
- update

ray-operator/controllers/ray/rayjob_controller.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ func NewRayJobReconciler(_ context.Context, mgr manager.Manager, provider utils.
6363
// +kubebuilder:rbac:groups=core,resources=pods/status,verbs=get;list;watch;create;update;patch;delete
6464
// +kubebuilder:rbac:groups=core,resources=services,verbs=get;list;watch;create;update;patch;delete
6565
// +kubebuilder:rbac:groups=core,resources=services/status,verbs=get;update;patch
66-
// +kubebuilder:rbac:groups=core,resources=services/proxy,verbs=get;update;patch
66+
// +kubebuilder:rbac:groups=core,resources=services/proxy,verbs=get;update;patch;create
6767
// +kubebuilder:rbac:groups=coordination.k8s.io,resources=leases,verbs=get;list;create;update
6868
// +kubebuilder:rbac:groups=core,resources=serviceaccounts,verbs=get;list;watch;create;delete
6969
// +kubebuilder:rbac:groups="rbac.authorization.k8s.io",resources=roles,verbs=get;list;watch;create;delete;update

ray-operator/controllers/ray/utils/dashboard_httpclient.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -346,6 +346,10 @@ func (r *RayDashboardClient) SubmitJobReq(ctx context.Context, request *RayJobRe
346346

347347
body, _ := io.ReadAll(resp.Body)
348348

349+
if resp.StatusCode < 200 || resp.StatusCode > 299 {
350+
return "", fmt.Errorf("SubmitJob fail: %s %s", resp.Status, string(body))
351+
}
352+
349353
var jobResp RayJobResponse
350354
if err = json.Unmarshal(body, &jobResp); err != nil {
351355
// Maybe body is not valid json, raise an error with the body.

0 commit comments

Comments
 (0)