Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Operator oc support #1185

Closed
wants to merge 216 commits into from
Closed
Show file tree
Hide file tree
Changes from 17 commits
Commits
Show all changes
216 commits
Select commit Hold shift + click to select a range
f7abe67
Add support for openshift routes
blublinsky Jun 22, 2023
1ed62c4
Add support for openshift routes
blublinsky Jun 22, 2023
b23e5cd
Add support for openshift routes
blublinsky Jun 22, 2023
4914cbc
Add support for openshift routes in the operator
blublinsky Jun 23, 2023
fd2087d
Run consistency checks
blublinsky Jun 29, 2023
8b80a18
Run consistency checks
blublinsky Jun 29, 2023
3d75af6
Run consistency checks
blublinsky Jun 29, 2023
4f02879
Run consistency checks
blublinsky Jun 30, 2023
6de05d8
more fixes
blublinsky Jul 4, 2023
a68b13c
more fixes
blublinsky Jul 5, 2023
fb27632
more fixes
blublinsky Jul 5, 2023
5bb81a5
Rebased to master
blublinsky Jul 3, 2023
d52187a
Rebased to master
blublinsky Jul 3, 2023
3fb4abf
Merge branch 'master' into operator_oc_support
blublinsky Jul 9, 2023
46bc25e
Merge remote-tracking branch 'origin/master'
blublinsky Jul 9, 2023
643667c
more fixes
blublinsky Jul 9, 2023
3592c1c
more fixes
blublinsky Jul 9, 2023
7164b4a
more fixes
blublinsky Jul 10, 2023
fb49a05
more fixes
blublinsky Jul 10, 2023
1fd703e
more fixes
blublinsky Jul 10, 2023
4052ea7
more fixes
blublinsky Jul 11, 2023
31d742b
more fixes
blublinsky Jul 12, 2023
c8b0f73
more fixes
blublinsky Jul 12, 2023
0200cfe
Merge remote-tracking branch 'origin/master'
blublinsky Jul 13, 2023
bb0adf2
Merge branch 'master' into operator_oc_support
blublinsky Jul 13, 2023
b7684f4
more fixes
blublinsky Jul 13, 2023
fd8e550
run make manifest
blublinsky Jul 13, 2023
a6c3215
run make manifest
blublinsky Jul 13, 2023
414defc
run make manifest
blublinsky Aug 3, 2023
ea790bb
Merge branch 'master' into operator_oc_support
blublinsky Aug 8, 2023
d0deef6
Merge branch 'ray-project:master' into operator_oc_support
blublinsky Aug 9, 2023
2ae4bab
[CI] Verify kubectl in kind-in-docker step (#1305)
architkulkarni Aug 9, 2023
c39936c
[RayService] Revisit the conditions under which a RayService is consi…
kevin85421 Aug 9, 2023
63ac759
[CI] Install kuberay operator in buildkite test (#1308)
architkulkarni Aug 9, 2023
556d0b9
[CI] Publish KubeRay operator / apiserver images to Quay (#1307)
kevin85421 Aug 10, 2023
6e28dc0
Add Ray cluster spec for TPU pods (#1292)
richardsliu Aug 10, 2023
2c795be
Downgrade `kind` from to `v0.20.0` to `v0.11.1` (#1313)
architkulkarni Aug 10, 2023
c066f2b
Do not update pod labels if they haven't changed (#1304)
JoshKarpel Aug 11, 2023
cce5ea7
[CI] Run sample job YAML tests in buildkite (#1315)
architkulkarni Aug 11, 2023
8caf5db
Api server makefile (#1301)
z103cb Aug 13, 2023
897065c
Upgrade to Go 1.19 (#1325)
kevin85421 Aug 14, 2023
18f9797
Fix release actions (#1323)
anishasthana Aug 14, 2023
9414a85
[Benchmark] KubeRay memory / scalability benchmark (#1324)
kevin85421 Aug 14, 2023
1e2ba7f
Add support for openshift routes in the operator
blublinsky Jun 23, 2023
3f6089b
Run consistency checks
blublinsky Jun 29, 2023
d7389bd
Run consistency checks
blublinsky Jun 29, 2023
d246cd6
Run consistency checks
blublinsky Jun 30, 2023
04a6bd7
more fixes
blublinsky Jul 5, 2023
8e8c62f
more fixes
blublinsky Jul 12, 2023
9660494
rebased to current
blublinsky Aug 15, 2023
4865d1c
Add support for openshift routes in the operator
blublinsky Jun 23, 2023
18a5cce
Run consistency checks
blublinsky Jun 29, 2023
37345d3
more fixes
blublinsky Jul 12, 2023
cb74755
Add support for openshift routes in the operator
blublinsky Jun 23, 2023
0353151
rebased to current
blublinsky Aug 15, 2023
320ee3c
rebased to current
blublinsky Aug 15, 2023
c86ad79
More clean up and tests
blublinsky Aug 15, 2023
775e504
More clean up and tests
blublinsky Aug 15, 2023
3c9e5c4
Merge branch 'master' into operator_oc_support
blublinsky Aug 15, 2023
6f0ed87
More clean up and tests
blublinsky Aug 15, 2023
a5d1143
Merge remote-tracking branch 'origin/operator_oc_support' into operat…
blublinsky Aug 15, 2023
87407ac
Add a document for profiling (#1299)
Yicheng-Lu-llll Aug 15, 2023
aae9fac
Update doc and base image for Go 1.19 (#1330)
tedhtchang Aug 15, 2023
2c5a6d0
[CI] Refactor pipeline and test RayCluster sample yamls (#1321)
architkulkarni Aug 16, 2023
92648c4
updating openshift library
blublinsky Aug 16, 2023
c9b1b2d
updating openshift library
blublinsky Aug 16, 2023
443c831
updating openshift library
blublinsky Aug 16, 2023
1e10ece
updating openshift library
blublinsky Aug 16, 2023
f106737
[Bug][RayJob] RayJob with custom head service name (#1332)
kevin85421 Aug 16, 2023
06ccd09
Bump the golangci-lint version in the api server makefile (#1342)
z103cb Aug 17, 2023
1cbac51
Documentation and example for running simple NLP service on kuberay (…
gvspraveen Aug 17, 2023
8be0a21
Removed use of the of BUILD_FLAGS in apiserver makefile (#1336)
z103cb Aug 18, 2023
e79e0b9
[GCS FT][Refactor] Redefine the behavior for deleting Pods and stop l…
kevin85421 Aug 21, 2023
b9104d8
Add a document for profiling (#1299)
Yicheng-Lu-llll Aug 15, 2023
fb9f01d
Update doc and base image for Go 1.19 (#1330)
tedhtchang Aug 15, 2023
afd927f
[CI] Refactor pipeline and test RayCluster sample yamls (#1321)
architkulkarni Aug 16, 2023
72a61bc
[Bug][RayJob] RayJob with custom head service name (#1332)
kevin85421 Aug 16, 2023
0258dd6
Bump the golangci-lint version in the api server makefile (#1342)
z103cb Aug 17, 2023
264bd03
Documentation and example for running simple NLP service on kuberay (…
gvspraveen Aug 17, 2023
a87e7df
Removed use of the of BUILD_FLAGS in apiserver makefile (#1336)
z103cb Aug 18, 2023
8b3475f
[GCS FT][Refactor] Redefine the behavior for deleting Pods and stop l…
kevin85421 Aug 21, 2023
5bc7816
Add support for openshift routes in the operator
blublinsky Jun 23, 2023
648ef89
Run consistency checks
blublinsky Jun 29, 2023
fb2cbf8
more fixes
blublinsky Jul 5, 2023
14527f4
more fixes
blublinsky Jul 12, 2023
77b7c85
Upgrade to Go 1.19 (#1325)
kevin85421 Aug 14, 2023
a0fd62a
Run consistency checks
blublinsky Jun 29, 2023
d5723da
more fixes
blublinsky Jul 5, 2023
c9c7a56
Run consistency checks
blublinsky Jun 29, 2023
5fa62da
more fixes
blublinsky Aug 22, 2023
68e32aa
more fixes
blublinsky Aug 22, 2023
e03a7de
more fixes
blublinsky Aug 22, 2023
a1c3d97
more fixes
blublinsky Aug 22, 2023
5de4a42
[RayJob] Add runtime env YAML field (#1338)
architkulkarni Aug 22, 2023
3a7a17f
Delete ray_v1alpha1_rayjob.batch-inference.yaml (#1360)
architkulkarni Aug 23, 2023
de8bc26
[Feature] Allow RayCluster Helm chart to specify different images for…
Darren221 Aug 24, 2023
4fbdb9e
[CI] Update latest ray version 2.5.0 -> 2.6.3 (#1320)
architkulkarni Aug 25, 2023
c051a1f
Add support for openshift routes in the operator
blublinsky Jun 23, 2023
6442269
Run consistency checks
blublinsky Jun 29, 2023
918b64d
Run consistency checks
blublinsky Jun 29, 2023
643399c
Run consistency checks
blublinsky Jun 29, 2023
31e779a
Run consistency checks
blublinsky Jun 30, 2023
3f36e19
more fixes
blublinsky Jul 4, 2023
5c8d1fc
more fixes
blublinsky Jul 5, 2023
6301457
more fixes
blublinsky Jul 5, 2023
236255b
more fixes
blublinsky Jul 9, 2023
64a1010
more fixes
blublinsky Jul 10, 2023
aad99bc
more fixes
blublinsky Jul 10, 2023
a2653c4
more fixes
blublinsky Jul 10, 2023
0942ae7
more fixes
blublinsky Jul 11, 2023
6434e30
more fixes
blublinsky Jul 12, 2023
47ada8d
more fixes
blublinsky Jul 12, 2023
69a5c68
Rebased to master
blublinsky Jul 3, 2023
9455de2
Rebased to master
blublinsky Jul 3, 2023
40f281a
more fixes
blublinsky Jul 9, 2023
21a5e60
more fixes
blublinsky Jul 13, 2023
aa1b65d
run make manifest
blublinsky Jul 13, 2023
d63af0d
run make manifest
blublinsky Jul 13, 2023
d36b48c
run make manifest
blublinsky Aug 3, 2023
741a837
[RayService] Revisit the conditions under which a RayService is consi…
kevin85421 Aug 9, 2023
8055e83
Do not update pod labels if they haven't changed (#1304)
JoshKarpel Aug 11, 2023
9612804
Upgrade to Go 1.19 (#1325)
kevin85421 Aug 14, 2023
27bede2
Add support for openshift routes in the operator
blublinsky Jun 23, 2023
0ee99d6
Run consistency checks
blublinsky Jun 29, 2023
a6a5741
Run consistency checks
blublinsky Jun 29, 2023
b560c12
Run consistency checks
blublinsky Jun 30, 2023
9fd9d57
more fixes
blublinsky Jul 5, 2023
3806772
more fixes
blublinsky Jul 12, 2023
e1fe5b9
rebased to current
blublinsky Aug 15, 2023
92358e7
Add support for openshift routes in the operator
blublinsky Jun 23, 2023
63eb0f0
Run consistency checks
blublinsky Jun 29, 2023
0d6eb82
more fixes
blublinsky Jul 12, 2023
af7ac81
Add support for openshift routes in the operator
blublinsky Jun 23, 2023
df97d27
rebased to current
blublinsky Aug 15, 2023
5b40cb2
More clean up and tests
blublinsky Aug 15, 2023
36dee93
More clean up and tests
blublinsky Aug 15, 2023
6c22de5
More clean up and tests
blublinsky Aug 15, 2023
8fa7bf5
updating openshift library
blublinsky Aug 16, 2023
ec83696
updating openshift library
blublinsky Aug 16, 2023
703cf39
updating openshift library
blublinsky Aug 16, 2023
6014cc1
updating openshift library
blublinsky Aug 16, 2023
72c058a
Add support for openshift routes in the operator
blublinsky Jun 23, 2023
79b374a
Run consistency checks
blublinsky Jun 29, 2023
915a40f
more fixes
blublinsky Jul 5, 2023
89eaf4c
more fixes
blublinsky Jul 12, 2023
cd1157e
Upgrade to Go 1.19 (#1325)
kevin85421 Aug 14, 2023
6a72f52
Run consistency checks
blublinsky Jun 29, 2023
edfed88
more fixes
blublinsky Jul 5, 2023
af0a352
Run consistency checks
blublinsky Jun 29, 2023
a96b49e
more fixes
blublinsky Aug 22, 2023
baacd59
more fixes
blublinsky Aug 22, 2023
40d4a3f
more fixes
blublinsky Aug 22, 2023
c45b81c
more fixes
blublinsky Aug 22, 2023
741e354
Fixed error handling
blublinsky Aug 28, 2023
ba62d52
Merge remote-tracking branch 'origin/operator_oc_support' into operat…
blublinsky Aug 28, 2023
04e0542
rebased
blublinsky Aug 28, 2023
1b153d6
rebased
blublinsky Aug 28, 2023
bf31b52
Add support for openshift routes in the operator
blublinsky Jun 23, 2023
9d773ef
Run consistency checks
blublinsky Jun 29, 2023
d8b31cf
Run consistency checks
blublinsky Jun 29, 2023
3132455
Run consistency checks
blublinsky Jun 30, 2023
aba1b18
more fixes
blublinsky Jul 4, 2023
ad5f83a
more fixes
blublinsky Jul 5, 2023
a45e1e2
more fixes
blublinsky Jul 9, 2023
bd64172
more fixes
blublinsky Jul 10, 2023
10d273a
more fixes
blublinsky Jul 10, 2023
5732bb8
more fixes
blublinsky Jul 10, 2023
8e67f38
more fixes
blublinsky Jul 11, 2023
1f12b7f
more fixes
blublinsky Jul 12, 2023
fed7c70
more fixes
blublinsky Jul 12, 2023
9ef59b0
Rebased to master
blublinsky Jul 3, 2023
b14a228
Rebased to master
blublinsky Jul 3, 2023
433f293
more fixes
blublinsky Jul 9, 2023
7c5fbd6
more fixes
blublinsky Jul 13, 2023
5e07811
run make manifest
blublinsky Jul 13, 2023
ecbdb4f
run make manifest
blublinsky Jul 13, 2023
10dc57e
run make manifest
blublinsky Aug 3, 2023
029dd7e
[RayService] Revisit the conditions under which a RayService is consi…
kevin85421 Aug 9, 2023
93188a5
Do not update pod labels if they haven't changed (#1304)
JoshKarpel Aug 11, 2023
7381d5f
Upgrade to Go 1.19 (#1325)
kevin85421 Aug 14, 2023
e113083
Add support for openshift routes in the operator
blublinsky Jun 23, 2023
9201676
Run consistency checks
blublinsky Jun 29, 2023
b6e746f
Run consistency checks
blublinsky Jun 29, 2023
34068f3
Run consistency checks
blublinsky Jun 30, 2023
232c5a0
more fixes
blublinsky Jul 5, 2023
db7f39d
more fixes
blublinsky Jul 12, 2023
09a50a1
rebased to current
blublinsky Aug 15, 2023
c71b621
Add support for openshift routes in the operator
blublinsky Jun 23, 2023
45b715a
Run consistency checks
blublinsky Jun 29, 2023
84a24ee
more fixes
blublinsky Jul 12, 2023
3c91631
Add support for openshift routes in the operator
blublinsky Jun 23, 2023
76f6a78
rebased to current
blublinsky Aug 15, 2023
24e5280
More clean up and tests
blublinsky Aug 15, 2023
d7ba654
More clean up and tests
blublinsky Aug 15, 2023
63a668f
More clean up and tests
blublinsky Aug 15, 2023
70d5fae
updating openshift library
blublinsky Aug 16, 2023
fbb8de6
updating openshift library
blublinsky Aug 16, 2023
b31dd46
[Bug][RayJob] RayJob with custom head service name (#1332)
kevin85421 Aug 16, 2023
111be20
[GCS FT][Refactor] Redefine the behavior for deleting Pods and stop l…
kevin85421 Aug 21, 2023
84eef67
Add support for openshift routes in the operator
blublinsky Jun 23, 2023
7d27132
Run consistency checks
blublinsky Jun 29, 2023
d2c11b8
more fixes
blublinsky Jul 5, 2023
bf45652
more fixes
blublinsky Jul 12, 2023
1180d93
Upgrade to Go 1.19 (#1325)
kevin85421 Aug 14, 2023
3f778bc
Run consistency checks
blublinsky Jun 29, 2023
b77cb30
more fixes
blublinsky Jul 5, 2023
f023a2b
Run consistency checks
blublinsky Jun 29, 2023
e0b6187
more fixes
blublinsky Aug 22, 2023
43b0fd4
more fixes
blublinsky Aug 22, 2023
b187eac
more fixes
blublinsky Aug 22, 2023
1514bbd
more fixes
blublinsky Aug 22, 2023
fc3f788
rebased
blublinsky Aug 28, 2023
ab2f262
rebased
blublinsky Aug 28, 2023
3225c63
rebased to latest
blublinsky Aug 29, 2023
19ffd4c
Merge remote-tracking branch 'origin/operator_oc_support' into operat…
blublinsky Aug 29, 2023
fa9645a
rebased to latest
blublinsky Aug 29, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions apiserver/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -52,11 +52,11 @@ require (
github.com/prometheus/procfs v0.6.0 // indirect
github.com/spf13/pflag v1.0.5 // indirect
go.mongodb.org/mongo-driver v1.3.4 // indirect
golang.org/x/net v0.0.0-20210825183410-e898025ed96a // indirect
blublinsky marked this conversation as resolved.
Show resolved Hide resolved
golang.org/x/net v0.11.0 // indirect
golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f // indirect
golang.org/x/sys v0.0.0-20211029165221-6e7872819dc8 // indirect
golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b // indirect
golang.org/x/text v0.3.7 // indirect
golang.org/x/sys v0.9.0 // indirect
golang.org/x/term v0.9.0 // indirect
golang.org/x/text v0.10.0 // indirect
golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac // indirect
google.golang.org/appengine v1.6.7 // indirect
google.golang.org/genproto v0.0.0-20210909211513-a8c4777a87af // indirect
Expand Down
37 changes: 33 additions & 4 deletions apiserver/go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -473,6 +473,7 @@ github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7J
github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo=
github.com/onsi/gomega v1.17.0 h1:9Luw4uT5HTjHTN8+aNcSThgH1vdXnmdJ8xIfZ4wyTRE=
github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY=
github.com/openshift/api v3.9.0+incompatible/go.mod h1:dh9o4Fs58gpFXGSYfnVxGR9PnV53I8TW84pQaJDdGiY=
blublinsky marked this conversation as resolved.
Show resolved Hide resolved
github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o=
github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc=
github.com/orcaman/concurrent-map v1.0.0/go.mod h1:Lu3tH6HLW3feq74c2GC+jIMS/K2CFcDWnWD9XkenwhI=
Expand Down Expand Up @@ -579,6 +580,7 @@ github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
github.com/yuin/goldmark v1.4.0/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU=
go.etcd.io/bbolt v1.3.6/go.mod h1:qXsaaIqmgQH0T+OPdb99Bf+PKfBBQVAdyD6TY9G8XM4=
go.etcd.io/etcd/api/v3 v3.5.0/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs=
Expand Down Expand Up @@ -641,6 +643,8 @@ golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8U
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20210817164053-32db794688a5/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
golang.org/x/crypto v0.10.0/go.mod h1:o4eNf7Ede1fv+hwOwZsTHl9EsPFO6q6ZvYR8vYfY45I=
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
Expand Down Expand Up @@ -676,6 +680,9 @@ golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
golang.org/x/mod v0.11.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
Expand Down Expand Up @@ -725,8 +732,12 @@ golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96b
golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk=
golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20210825183410-e898025ed96a h1:bRuuGXV8wwSdGTB+CtJf+FjgO1APK1CoO39T4BN/XBw=
golang.org/x/net v0.0.0-20210825183410-e898025ed96a/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg=
golang.org/x/net v0.11.0 h1:Gi2tvZIJyBtO9SDr1q9h5hEQCp/4L2RQ+ar0qjx2oNU=
golang.org/x/net v0.11.0/go.mod h1:2L/ixqYpgIVXmeoSA/4Lu7BzTG4KIyPIryS4IsOd1oQ=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
Expand Down Expand Up @@ -754,6 +765,9 @@ golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJ
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y=
golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
Expand Down Expand Up @@ -823,11 +837,20 @@ golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBc
golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210831042530-f4d43177bf5e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20211029165221-6e7872819dc8 h1:M69LAlWZCshgp0QSzyDcSsSIejIEeuaCVpmwcKwyLMk=
golang.org/x/sys v0.0.0-20211029165221-6e7872819dc8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.9.0 h1:KS/R3tvhPqvJvwcKfnBHJwwthS11LRhmM5D59eEXa0s=
golang.org/x/sys v0.9.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b h1:9zKuko04nR4gjZ4+DNjHqRlAJqbJETHwiNKDqTfOjfE=
golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo=
golang.org/x/term v0.9.0 h1:GRRCnKYhdQrD8kfRAdQ6Zcw1P0OcELxGLKJvtjVMZ28=
golang.org/x/term v0.9.0/go.mod h1:M6DEAAIenWoTxdKrOltXcmDY3rSplQUkrvaDU5FcQyo=
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
Expand All @@ -836,8 +859,11 @@ golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk=
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
golang.org/x/text v0.10.0 h1:UpjohKhiEgNc0CSauXmwYftY1+LlaC75SJwh0SgCX58=
golang.org/x/text v0.10.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
Expand Down Expand Up @@ -909,6 +935,9 @@ golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0=
golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
golang.org/x/tools v0.1.6-0.20210820212750-d4cc65f0b2ff/go.mod h1:YD9qOF0M9xpSpdWTBbzEl5e/RnCefISl8E5Noe10jFM=
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
golang.org/x/tools v0.10.0/go.mod h1:UJwyiVBsOA2uwvK/e5OY3GTpDUJriEd+/YlqAwLPmyM=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
Expand Down
1 change: 0 additions & 1 deletion helm-chart/kuberay-apiserver/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,6 @@ service:
# targetPort: 8887

# You can only enable an ingress or route, if you are using OpenShift cluster
# Also note that in order to enable ingress or route you need to use ClusterIP service

ingress:
enabled: false
Expand Down
12 changes: 12 additions & 0 deletions helm-chart/kuberay-operator/templates/role.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -225,6 +225,18 @@ rules:
- list
- update
- watch
- apiGroups:
- route.openshift.io
resources:
- routes
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
{{- if .Values.batchScheduler.enabled }}
- apiGroups:
- scheduling.volcano.sh
Expand Down
6 changes: 3 additions & 3 deletions ray-operator/apis/ray/v1alpha1/rayjob_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -97,9 +97,9 @@ type RayJobStatus struct {
ObservedGeneration int64 `json:"observedGeneration,omitempty"`
}

//+kubebuilder:object:root=true
//+kubebuilder:subresource:status
//+genclient
// +kubebuilder:object:root=true
// +kubebuilder:subresource:status
// +genclient
// RayJob is the Schema for the rayjobs API
type RayJob struct {
metav1.TypeMeta `json:",inline"`
Expand Down
12 changes: 12 additions & 0 deletions ray-operator/config/rbac/role.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -224,3 +224,15 @@ rules:
- list
- update
- watch
- apiGroups:
- route.openshift.io
resources:
- routes
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
8 changes: 3 additions & 5 deletions ray-operator/controllers/ray/common/ingress.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ import (
const IngressClassAnnotationKey = "kubernetes.io/ingress.class"

// BuildIngressForHeadService Builds the ingress for head service dashboard.
// This is used to expose dashboard for external traffic.
// This is used to expose dashboard and ray job submission API for external traffic.
func BuildIngressForHeadService(cluster rayv1alpha1.RayCluster) (*networkingv1.Ingress, error) {
labels := map[string]string{
RayClusterLabelKey: cluster.Name,
Expand Down Expand Up @@ -102,10 +102,8 @@ func BuildIngressForRayService(service rayv1alpha1.RayService, cluster rayv1alph

ingress.ObjectMeta.Name = utils.GenerateServiceName(service.Name)
ingress.ObjectMeta.Namespace = service.Namespace
ingress.ObjectMeta.Labels = map[string]string{
RayServiceLabelKey: service.Name,
RayIDLabelKey: utils.CheckLabel(utils.GenerateIdentifier(service.Name, rayv1alpha1.HeadNode)),
}
ingress.ObjectMeta.Labels[RayServiceLabelKey] = service.Name
ingress.ObjectMeta.Labels[RayIDLabelKey] = utils.CheckLabel(utils.GenerateIdentifier(service.Name, rayv1alpha1.HeadNode))

return ingress, nil
}
75 changes: 75 additions & 0 deletions ray-operator/controllers/ray/common/route.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
package common

import (
"github.com/ray-project/kuberay/ray-operator/controllers/ray/utils"

routev1 "github.com/openshift/api/route/v1"
rayv1alpha1 "github.com/ray-project/kuberay/ray-operator/apis/ray/v1alpha1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/util/intstr"
)

// BuildRouteForHeadService Builds the Route (OpenShift) for head service dashboard.
// This is used to expose dashboard and ray job submission API for external traffic.
func BuildRouteForHeadService(cluster rayv1alpha1.RayCluster) (*routev1.Route, error) {
labels := map[string]string{
RayClusterLabelKey: cluster.Name,
RayIDLabelKey: utils.GenerateIdentifier(cluster.Name, rayv1alpha1.HeadNode),
KubernetesApplicationNameLabelKey: ApplicationName,
KubernetesCreatedByLabelKey: ComponentName,
}

// Copy other route configurations from cluster annotations to provide a generic way
// for user to customize their route settings.
annotation := map[string]string{}
for key, value := range cluster.Annotations {
annotation[key] = value
}

servicePorts := getServicePorts(cluster)
dashboardPort := DefaultDashboardPort
if port, ok := servicePorts[DefaultDashboardName]; ok {
dashboardPort = int(port)
}

weight := int32(100)
blublinsky marked this conversation as resolved.
Show resolved Hide resolved

route := &routev1.Route{
ObjectMeta: metav1.ObjectMeta{
Name: utils.GenerateRouteName(cluster.Name),
Namespace: cluster.Namespace,
Labels: labels,
Annotations: annotation,
},
Spec: routev1.RouteSpec{
To: routev1.RouteTargetReference{
Kind: "Service",
Name: utils.GenerateServiceName(cluster.Name),
Weight: &weight,
},
Port: &routev1.RoutePort{
TargetPort: intstr.FromInt(dashboardPort),
},
WildcardPolicy: "None",
},
}

return route, nil
}

// BuildRouteForRayService Builds the ingress for head service dashboard for RayService.
// This is used to expose dashboard for external traffic.
// RayService controller updates the ingress whenever a new RayCluster serves the traffic.
func BuildRouteForRayService(service rayv1alpha1.RayService, cluster rayv1alpha1.RayCluster) (*routev1.Route, error) {
route, err := BuildRouteForHeadService(cluster)
if err != nil {
return nil, err
}

route.ObjectMeta.Name = utils.GenerateServiceName(service.Name)
route.ObjectMeta.Namespace = service.Namespace
route.ObjectMeta.Labels[RayServiceLabelKey] = service.Name
route.ObjectMeta.Labels[RayIDLabelKey] = utils.CheckLabel(utils.GenerateIdentifier(service.Name, rayv1alpha1.HeadNode))

return route, nil
}
73 changes: 73 additions & 0 deletions ray-operator/controllers/ray/common/route_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
package common

import (
rayv1alpha1 "github.com/ray-project/kuberay/ray-operator/apis/ray/v1alpha1"
"github.com/stretchr/testify/assert"
corev1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/util/intstr"
"k8s.io/utils/pointer"

"strings"
"testing"
)

var instanceWithRouteEnabled = &rayv1alpha1.RayCluster{
ObjectMeta: metav1.ObjectMeta{
Name: "raycluster-sample",
Namespace: "default",
Annotations: map[string]string{
IngressClassAnnotationKey: "nginx",
},
},
Spec: rayv1alpha1.RayClusterSpec{
RayVersion: "1.0",
HeadGroupSpec: rayv1alpha1.HeadGroupSpec{
Replicas: pointer.Int32Ptr(1),
EnableIngress: pointer.BoolPtr(true),
Template: corev1.PodTemplateSpec{
Spec: corev1.PodSpec{
Containers: []corev1.Container{
{
Name: "ray-head",
Image: "rayproject/autoscaler",
Command: []string{"python"},
Args: []string{"/opt/code.py"},
},
},
},
},
},
},
}

func TestBuildRouteForHeadService(t *testing.T) {
route, err := BuildRouteForHeadService(*instanceWithRouteEnabled)
Copy link
Member

Choose a reason for hiding this comment

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

Although currently BuildRouteForHeadService will only read instanceWithRouteEnabled, it is better to perform a deep copy of instanceWithRouteEnabled to avoid side effects in the future. I expect that instanceWithRouteEnabled will be used in multiple tests. If the value will be different after each test, it will prevent the tests from covering the correct code paths.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Huh? BuildRouteForHeadService should never modify source

Copy link
Member

Choose a reason for hiding this comment

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

BuildRouteForHeadService should never modify source

You can refer to my comment https://github.com/ray-project/kuberay/pull/1185/files#r1255244213.

I would say that it is a good practice for every gopher to avoid side effects caused by future changes. For more details on this topic, you can refer to this article. In addition, you can find related comments frequently in Kubernetes source code.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

In general, I would agree that shallow copy is bad. In this particular case BuildRouteForHeadService is part of CR processing. If it modifies CR we have a much bigger problem. Also compare it with other tests, for example ingress test

Copy link
Contributor

Choose a reason for hiding this comment

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

@blublinsky, perhaps inlining the variable in the call to BuildRouteForHead might be a better solution. I think it should assuade @kevin85421 concerns and also slighly simplify the reading of the code (a subjective opinion)

assert.Nil(t, err)

// Test name
var builder strings.Builder
builder.WriteString(instanceWithIngressEnabled.ObjectMeta.Name)
builder.WriteString("-head-route")
if builder.String() != route.Name {
t.Fatalf("Error generating Route name. Expected `%v` but got `%v`", builder.String(), route.Name)
}
// Test To subject
expectedKind := "Service"
if expectedKind != route.Spec.To.Kind {
t.Fatalf("Error generating Route kind. Expected `%v` but got `%v`", expectedKind, route.Spec.To.Kind)
}
// Test Service name
builder.Reset()
builder.WriteString(instanceWithIngressEnabled.ObjectMeta.Name)
builder.WriteString("-head-svc")
if builder.String() != route.Spec.To.Name {
t.Fatalf("Error generating service name. Expected `%v` but got `%v`", builder.String(), route.Spec.To.Name)
}

// Test Service port
expectedPort := intstr.FromInt(8265)
if route.Spec.Port.TargetPort != expectedPort {
t.Fatalf("Error generating service port. Expected `%v` but got `%v`", expectedPort, route.Spec.Port.TargetPort)
}
}
Loading