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

[serve] Optionally namespace serve clusters #8447

Merged
merged 7 commits into from May 17, 2020

Conversation

edoakes
Copy link
Contributor

@edoakes edoakes commented May 14, 2020

Why are these changes needed?

Enables users to launch multiple serve clusters on one ray cluster.

Checks

  • I've run scripts/format.sh to lint the changes in this PR.
  • I've included any doc changes needed for https://docs.ray.io/en/latest/.
  • I've made sure the tests are passing. Note that there might be a few flaky tests, see the recent failure rates at https://ray-travis-tracker.herokuapp.com/.
  • Testing Strategy
    • Unit tests
    • Release tests
    • This PR is not tested (please justify below)

@AmplabJenkins
Copy link

Can one of the admins verify this patch?

@AmplabJenkins
Copy link

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Ray-PRB/25901/
Test FAILed.

Copy link
Contributor

@simon-mo simon-mo left a comment

Choose a reason for hiding this comment

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

On a high level, is this a user requirement? in what kind scenario would user need to run multiple serve clusters?

@@ -81,6 +82,9 @@ def init(blocking=False,
requirement.

Args:
cluster_name (str): A unique name for this serve cluster. This allows
Copy link
Contributor

Choose a reason for hiding this comment

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

  1. (str, None).
  2. Discuss the default option?

).remote(queueing_policy.value, policy_kwargs, start_server, http_host,
http_port, metric_exporter)
).remote(cluster_name, queueing_policy.value, policy_kwargs, start_server,
http_host, http_port, metric_exporter)

Copy link
Contributor

Choose a reason for hiding this comment

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

can we check the port is available somewhere here? With multiple serve cluster, it will be quite easy to forget to assign new port number and have a port collision. Currently, we just silently failed to start HTTP actor and timeout in trying to reach HTTP, which is not a pleasant user experience

@AmplabJenkins
Copy link

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Ray-PRB/25906/
Test FAILed.

@AmplabJenkins
Copy link

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Ray-PRB/25905/
Test FAILed.

@AmplabJenkins
Copy link

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Ray-PRB/25903/
Test FAILed.

@edoakes
Copy link
Contributor Author

edoakes commented May 15, 2020

@simon-mo The primary use case is that this provides a hacky way to get horizontal scalability if need be - the user can start 3 clusters each with N/3 replicas instead of one with N.

@AmplabJenkins
Copy link

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Ray-PRB/25949/
Test FAILed.

@AmplabJenkins
Copy link

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Ray-PRB/25987/
Test PASSed.

@edoakes edoakes merged commit fb23bd6 into ray-project:master May 17, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants