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

Add cluster extension #6118

Merged
merged 31 commits into from
Mar 8, 2019
Merged

Conversation

HenryYYang
Copy link
Contributor

@HenryYYang HenryYYang commented Feb 27, 2019

For an explanation of how to fill out the fields, please see the relevant section
in PULL_REQUESTS.md

Description: Add cluster factory to allow creating and registering custom cluster.
Risk Level: medium
Testing: Added unit tests and integration tests
Docs Changes:
Release Notes: Added.
#5780

…sters

Signed-off-by: Henry Yang <hyang@lyft.com>
Signed-off-by: Henry Yang <hyang@lyft.com>
Signed-off-by: Henry Yang <hyang@lyft.com>
Signed-off-by: Henry Yang <hyang@lyft.com>
Signed-off-by: Henry Yang <hyang@lyft.com>
Signed-off-by: Henry Yang <hyang@lyft.com>
Signed-off-by: Henry Yang <hyang@lyft.com>
@mattklein123 mattklein123 self-assigned this Feb 27, 2019
Signed-off-by: Henry Yang <hyang@lyft.com>
Signed-off-by: Henry Yang <hyang@lyft.com>
…nto add-cluster-extension

Signed-off-by: Henry Yang <hyang@lyft.com>
Signed-off-by: Henry Yang <hyang@lyft.com>
Signed-off-by: Henry Yang <hyang@lyft.com>
Signed-off-by: Henry Yang <hyang@lyft.com>
Signed-off-by: Henry Yang <hyang@lyft.com>
Signed-off-by: Henry Yang <hyang@lyft.com>
Signed-off-by: Henry Yang <hyang@lyft.com>
…-extension

Signed-off-by: Henry Yang <hyang@lyft.com>
Signed-off-by: Henry Yang <hyang@lyft.com>
Copy link
Member

@mattklein123 mattklein123 left a comment

Choose a reason for hiding this comment

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

Thanks very excited for this. @htuch can you do a quick API pass on this to see if this will meet Google needs? @envoyproxy/maintainers in case anyone else wants to take a look. @HenryYYang I will take a full pass once the function is deleted per offline discussion. Thank you!

/wait

.bazelrc Outdated Show resolved Hide resolved
DEPRECATED.md Outdated Show resolved Hide resolved
api/envoy/api/v2/cds.proto Outdated Show resolved Hide resolved
api/envoy/api/v2/cds.proto Outdated Show resolved Hide resolved
@htuch
Copy link
Member

htuch commented Mar 4, 2019

@mattklein123 this seems general enough to be useful for anything we'd want to do in terms of customer clusters. OTOH, I think our main interest today is making LB more extensible, which is orthogonal to cluster extensibility. I.e. we'd like to push out the existing LB to extensions and add our own, without needing to change from EdsCluster.

Copy link
Member

@mattklein123 mattklein123 left a comment

Choose a reason for hiding this comment

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

Thanks this is great! Flushing some more comments.

/wait

api/envoy/api/v2/cds.proto Show resolved Hide resolved
docs/root/intro/arch_overview/service_discovery.rst Outdated Show resolved Hide resolved
include/envoy/upstream/cluster_factory.h Show resolved Hide resolved
include/envoy/upstream/cluster_factory.h Outdated Show resolved Hide resolved
source/common/upstream/cluster_factory_impl.cc Outdated Show resolved Hide resolved
source/common/upstream/cluster_factory_impl.h Outdated Show resolved Hide resolved
test/proto/cluster_factory_config.proto Outdated Show resolved Hide resolved
Signed-off-by: Henry Yang <hyang@lyft.com>
@HenryYYang
Copy link
Contributor Author

🔨

Signed-off-by: Henry Yang <hyang@lyft.com>
Signed-off-by: Henry Yang <hyang@lyft.com>
Copy link
Member

@mattklein123 mattklein123 left a comment

Choose a reason for hiding this comment

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

Thanks this is really excellent work. A few small changes and then I think we are ready to ship!

/wait

docs/root/intro/arch_overview/service_discovery.rst Outdated Show resolved Hide resolved
docs/root/intro/version_history.rst Outdated Show resolved Hide resolved
include/envoy/upstream/cluster_factory.h Outdated Show resolved Hide resolved
source/common/upstream/cluster_factory_impl.h Outdated Show resolved Hide resolved
source/extensions/clusters/well_known_names.h Outdated Show resolved Hide resolved
test/common/upstream/cluster_factory_impl_test.cc Outdated Show resolved Hide resolved
test/integration/clusters/BUILD Outdated Show resolved Hide resolved
test/integration/clusters/custom_static_cluster.cc Outdated Show resolved Hide resolved
test/integration/custom_cluster_integration_test.cc Outdated Show resolved Hide resolved
Signed-off-by: Henry Yang <hyang@lyft.com>
Signed-off-by: Henry Yang <hyang@lyft.com>
Signed-off-by: Henry Yang <hyang@lyft.com>
… header file

Signed-off-by: Henry Yang <hyang@lyft.com>
Signed-off-by: Henry Yang <hyang@lyft.com>
Signed-off-by: Henry Yang <hyang@lyft.com>
HenryYYang and others added 2 commits March 7, 2019 16:16
Signed-off-by: Henry Yang <hyang@lyft.com>
Copy link
Member

@mattklein123 mattklein123 left a comment

Choose a reason for hiding this comment

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

Fantastic work! Thank you @HenryYYang!

@HenryYYang when you do your next PR for the new extension cluster, can you also take a look at https://github.com/envoyproxy/envoy/blob/master/REPO_LAYOUT.md and update it? I think we might be missing a few extensions, not just the clusters. Thank you!

@mattklein123 mattklein123 merged commit 95998b4 into envoyproxy:master Mar 8, 2019
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.

4 participants