Commit 2acc219
[RayService] Support Incremental Zero-Downtime Upgrades (#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>1 parent 2d52001 commit 2acc219
File tree
36 files changed
+3174
-110
lines changed- docs/reference
- helm-chart/kuberay-operator
- crds
- templates
- ray-operator
- apis/ray/v1
- config
- crd/bases
- rbac
- controllers/ray
- common
- utils
- pkg
- client/applyconfiguration
- ray/v1
- features
- test
- e2eincrementalupgrade
- support
36 files changed
+3174
-110
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
55 | 55 | | |
56 | 56 | | |
57 | 57 | | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
58 | 77 | | |
59 | 78 | | |
60 | 79 | | |
| |||
377 | 396 | | |
378 | 397 | | |
379 | 398 | | |
| 399 | + | |
380 | 400 | | |
381 | 401 | | |
382 | 402 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
73 | 73 | | |
74 | 74 | | |
75 | 75 | | |
76 | | - | |
| 76 | + | |
77 | 77 | | |
78 | 78 | | |
79 | 79 | | |
| |||
95 | 95 | | |
96 | 96 | | |
97 | 97 | | |
98 | | - | |
| 98 | + | |
99 | 99 | | |
100 | | - | |
| 100 | + | |
101 | 101 | | |
102 | | - | |
103 | | - | |
| 102 | + | |
| 103 | + | |
104 | 104 | | |
105 | 105 | | |
106 | 106 | | |
| |||
112 | 112 | | |
113 | 113 | | |
114 | 114 | | |
| 115 | + | |
115 | 116 | | |
116 | 117 | | |
117 | 118 | | |
| |||
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
174 | 174 | | |
175 | 175 | | |
176 | 176 | | |
| 177 | + | |
| 178 | + | |
177 | 179 | | |
178 | 180 | | |
179 | 181 | | |
| |||
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
222 | 222 | | |
223 | 223 | | |
224 | 224 | | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
225 | 236 | | |
226 | 237 | | |
227 | 238 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
119 | 119 | | |
120 | 120 | | |
121 | 121 | | |
| 122 | + | |
| 123 | + | |
122 | 124 | | |
123 | 125 | | |
124 | 126 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
75 | 75 | | |
76 | 76 | | |
77 | 77 | | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
78 | 82 | | |
79 | | - | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
80 | 88 | | |
81 | 89 | | |
82 | 90 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
22 | 22 | | |
23 | 23 | | |
24 | 24 | | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
25 | 28 | | |
26 | 29 | | |
27 | 30 | | |
| |||
57 | 60 | | |
58 | 61 | | |
59 | 62 | | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
60 | 77 | | |
61 | 78 | | |
62 | 79 | | |
63 | 80 | | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
64 | 84 | | |
65 | 85 | | |
66 | 86 | | |
| |||
129 | 149 | | |
130 | 150 | | |
131 | 151 | | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
132 | 166 | | |
133 | 167 | | |
134 | 168 | | |
| |||
184 | 218 | | |
185 | 219 | | |
186 | 220 | | |
187 | | - | |
188 | | - | |
| 221 | + | |
189 | 222 | | |
190 | 223 | | |
191 | 224 | | |
| |||
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
0 commit comments