-
Notifications
You must be signed in to change notification settings - Fork 547
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
[Serve] Rolling update #3249
[Serve] Rolling update #3249
Conversation
Tested (9f60154)
|
ready. Traffic can be mixed on old and new replicas. | ||
- "blue_green": SkyServe will update the service with blue-green update, | ||
i.e., it will wait for new replicas to be ready and then terminate old | ||
replicas. Traffic will only be switched from old to new replicas after |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
replicas. Traffic will only be switched from old to new replicas after | |
replicas. Traffic will only be served from old to new replicas after |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It might be more clear with switched
since it means we change from the old to new replicas only after the number of replicas is enough.
sky/serve/replica_managers.py
Outdated
@@ -513,6 +530,7 @@ def __init__(self, service_name: str, | |||
self._next_replica_id: int = 1 | |||
self._service_name: str = service_name | |||
self._uptime: Optional[float] = None | |||
self._update_mode = serve_utils.UpdateMode.ROLLING |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
shall we make this as a constant DEFAULT_UPDATE_MODE?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added. Thanks!
Co-authored-by: Ziming Mao <ziming.mao@yale.edu>
Co-authored-by: Ziming Mao <ziming.mao@yale.edu>
Co-authored-by: Ziming Mao <ziming.mao@yale.edu>
Co-authored-by: Ziming Mao <ziming.mao@yale.edu>
This PR changes the default behavior to rolling update, and we allow the user to specify the update mode to
blue_green
, which is the same as the current master branch.Some reference for the two way of update: https://blog.itaysk.com/2017/11/20/deployment-strategies-defined
This also shows the current active version in
sky serve status
Blocked by #3299
Tested (run the relevant ones):
bash format.sh
pytest tests/test_smoke.py --serve
pytest tests/test_smoke.py --managed-spot
pytest tests/test_smoke.py::test_fill_in_the_name
bash tests/backward_comaptibility_tests.sh