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

Split the Capabilities by endpoints #76

Merged
merged 1 commit into from
Jun 3, 2019

Conversation

ola-rozenfeld
Copy link
Contributor

Fixes #61.
Will need to fix Bazel to match!

@googlebot googlebot added the cla: yes Pull requests whose authors are covered by a CLA with Google. label May 9, 2019
// GetCapabilities returns the server capabilities configuration of the
// remote endpoint.
// Only the capabilities of the services supported by the endpoint will
// be returned. For example:
Copy link
Contributor

Choose a reason for hiding this comment

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

Is 'For example' necessary here? Couldn't we simply specify an exhaustive list?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Hmm, I guess this is already an exhaustive list :-)

@edbaunton
Copy link
Collaborator

Maybe I missed this in a separate discussion but is it the case that we cannot host the ActionCache separately from the CAS?

@ola-rozenfeld
Copy link
Contributor Author

ola-rozenfeld commented May 9, 2019 via email

@ola-rozenfeld ola-rozenfeld merged commit 39ba947 into bazelbuild:master Jun 3, 2019
santigl pushed a commit to santigl/remote-apis that referenced this pull request Aug 26, 2020
bazel-io pushed a commit to bazelbuild/bazel that referenced this pull request Sep 3, 2020
According to changes in bazelbuild/remote-apis#76 (and discussion in bazelbuild/remote-apis#61):
> Each endpoint should implement the Capabilities service, and populate the fields relevant to the services available at that endpoint. Clients may choose to ignore irrelevant capabilities if the client does not plan to use a given service on the specified endpoint.

This PR:
1. Refactor `RemoteModule` to use a `ChannelFactory` when creating channels so that tests can mock into channels connected to a fake server.
2. Add tests for verifying server capabilities.
3. Only check required capabilities for a given endpoint.
    - If `--remote_executor` and `--remote_cache point` to the same endpoint, we require that endpoint has both execution and cache capabilities.
    - If they point to different endpoints, we check the endpoint with execution or cache capabilities respectively.

Fixes #11901.

Closes #12008.

PiperOrigin-RevId: 329875749
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cla: yes Pull requests whose authors are covered by a CLA with Google.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Capabilities in multi-endpoints configuration
5 participants