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

Replace GRPC server with envoy's go-control-plane #2134

Open
jpeach opened this issue Jan 22, 2020 · 16 comments · May be fixed by #6568
Open

Replace GRPC server with envoy's go-control-plane #2134

jpeach opened this issue Jan 22, 2020 · 16 comments · May be fixed by #6568
Assignees
Labels
kind/cleanup Categorizes issue or PR as related to cleaning up code, process, or technical debt. priority/important-soon Must be staffed and worked on either currently, or very soon, ideally in time for the next release.
Milestone

Comments

@jpeach
Copy link
Contributor

jpeach commented Jan 22, 2020

I looked ad go-control-plane a bit and we ought to be able to use it to replace our custom xDS code. The interfaces are a bit different, but we should be able to bind the DAG in without a lot of trouble. This likely gives us ADS support for free.

Related #1286

@jpeach
Copy link
Contributor Author

jpeach commented Jan 22, 2020

Note that this doesn't solve configuration snapshot consistency issues (see various issues in the go-control-plane repo).

@stevesloka stevesloka self-assigned this Jun 18, 2020
stevesloka added a commit to stevesloka/contour that referenced this issue Jun 22, 2020
Fixes projectcontour#2134 by replacing the current XDS server implementation with the envoyproxy/go-control-plane impl.

Signed-off-by: Steve Sloka <[email protected]>
stevesloka added a commit to stevesloka/contour that referenced this issue Jul 11, 2020
Fixes projectcontour#2134 by replacing the current XDS server implementation with the envoyproxy/go-control-plane impl.

Signed-off-by: Steve Sloka <[email protected]>
stevesloka added a commit to stevesloka/contour that referenced this issue Jul 16, 2020
Fixes projectcontour#2134 by replacing the current XDS server implementation with the envoyproxy/go-control-plane impl.

Signed-off-by: Steve Sloka <[email protected]>
stevesloka added a commit to stevesloka/contour that referenced this issue Jul 17, 2020
Fixes projectcontour#2134 by replacing the current XDS server implementation with the envoyproxy/go-control-plane impl.

Signed-off-by: Steve Sloka <[email protected]>
stevesloka added a commit to stevesloka/contour that referenced this issue Jul 17, 2020
Fixes projectcontour#2134 by replacing the current XDS server implementation with the envoyproxy/go-control-plane impl.

Signed-off-by: Steve Sloka <[email protected]>
stevesloka added a commit to stevesloka/contour that referenced this issue Jul 22, 2020
Fixes projectcontour#2134 by replacing the current XDS server implementation with the envoyproxy/go-control-plane impl.

Signed-off-by: Steve Sloka <[email protected]>
stevesloka added a commit to stevesloka/contour that referenced this issue Jul 22, 2020
Fixes projectcontour#2134 by replacing the current XDS server implementation with the envoyproxy/go-control-plane impl.

Signed-off-by: Steve Sloka <[email protected]>
stevesloka added a commit to stevesloka/contour that referenced this issue Jul 22, 2020
Fixes projectcontour#2134 by replacing the current XDS server implementation with the envoyproxy/go-control-plane impl.

Signed-off-by: Steve Sloka <[email protected]>
stevesloka added a commit to stevesloka/contour that referenced this issue Jul 27, 2020
Fixes projectcontour#2134 by replacing the current XDS server implementation with the envoyproxy/go-control-plane impl.

Signed-off-by: Steve Sloka <[email protected]>
stevesloka added a commit to stevesloka/contour that referenced this issue Jul 27, 2020
Fixes projectcontour#2134 by replacing the current XDS server implementation with the envoyproxy/go-control-plane impl.

Signed-off-by: Steve Sloka <[email protected]>
stevesloka added a commit to stevesloka/contour that referenced this issue Jul 28, 2020
Fixes projectcontour#2134 by replacing the current XDS server implementation with the envoyproxy/go-control-plane impl.

Signed-off-by: Steve Sloka <[email protected]>
stevesloka added a commit to stevesloka/contour that referenced this issue Jul 28, 2020
Fixes projectcontour#2134 by replacing the current XDS server implementation with the envoyproxy/go-control-plane impl.

Signed-off-by: Steve Sloka <[email protected]>
stevesloka added a commit to stevesloka/contour that referenced this issue Jul 28, 2020
Fixes projectcontour#2134 by replacing the current XDS server implementation with the envoyproxy/go-control-plane impl.

Signed-off-by: Steve Sloka <[email protected]>
stevesloka added a commit to stevesloka/contour that referenced this issue Jul 28, 2020
Fixes projectcontour#2134 by replacing the current XDS server implementation with the envoyproxy/go-control-plane impl.

Signed-off-by: Steve Sloka <[email protected]>
stevesloka added a commit to stevesloka/contour that referenced this issue Jul 28, 2020
Fixes projectcontour#2134 by implementing the Envoy go-control-plane to replace Contour's current custom xDS gRPC server.

The change utilizes snapshots as a way to represent a versioned point in time representation of the xDS
resources (RDS, CDS, EDS, LDS, SDS). When the dag is rebuilt or an endpoint changes, a new snapshot is
created with the updated caches for each xDS resource type.

Signed-off-by: Steve Sloka <[email protected]>
stevesloka added a commit to stevesloka/contour that referenced this issue Jul 29, 2020
Fixes projectcontour#2134 by implementing the Envoy go-control-plane to replace Contour's current custom xDS gRPC server.

The change utilizes snapshots as a way to represent a versioned point in time representation of the xDS
resources (RDS, CDS, EDS, LDS, SDS). When the dag is rebuilt or an endpoint changes, a new snapshot is
created with the updated caches for each xDS resource type.

Signed-off-by: Steve Sloka <[email protected]>
stevesloka added a commit to stevesloka/contour that referenced this issue Aug 3, 2020
Fixes projectcontour#2134 by implementing the Envoy go-control-plane to replace Contour's current custom xDS gRPC server.

The change utilizes snapshots as a way to represent a versioned point in time representation of the xDS
resources (RDS, CDS, EDS, LDS, SDS). When the dag is rebuilt or an endpoint changes, a new snapshot is
created with the updated caches for each xDS resource type.

Signed-off-by: Steve Sloka <[email protected]>
stevesloka added a commit to stevesloka/contour that referenced this issue Aug 3, 2020
Fixes projectcontour#2134 by implementing the Envoy go-control-plane to replace Contour's current custom xDS gRPC server.

The change utilizes snapshots as a way to represent a versioned point in time representation of the xDS
resources (RDS, CDS, EDS, LDS, SDS). When the dag is rebuilt or an endpoint changes, a new snapshot is
created with the updated caches for each xDS resource type.

Signed-off-by: Steve Sloka <[email protected]>
stevesloka added a commit to stevesloka/contour that referenced this issue Aug 4, 2020
Fixes projectcontour#2134 by implementing the Envoy go-control-plane to replace Contour's current custom xDS gRPC server.

The change utilizes snapshots as a way to represent a versioned point in time representation of the xDS
resources (RDS, CDS, EDS, LDS, SDS). When the dag is rebuilt or an endpoint changes, a new snapshot is
created with the updated caches for each xDS resource type.

Signed-off-by: Steve Sloka <[email protected]>
@skriss
Copy link
Member

skriss commented Feb 13, 2024

@davinci26 @clayton-gonsalves @izturn (or anyone else) just a gentle nudge here, is this change something you could test in a non-prod environment?

@davinci26
Copy link
Contributor

@skriss sorry had this message on draft.

We are working on a bunch of items to improve the operational stability of Contour so we are not taking many upstream changes but I think we should be able to take it and test it out in a couple of weeks from now.

Does this work?

@skriss
Copy link
Member

skriss commented Feb 13, 2024

@skriss sorry had this message on draft.

We are working on a bunch of items to improve the operational stability of Contour so we are not taking many upstream changes but I think we should be able to take it and test it out in a couple of weeks from now.

Does this work?

That'd be great, thanks! We may make the change upstream soon-ish anyway to let CI start running regularly on it. It has already been running in our nightly tests and seems pretty stable.

@skriss
Copy link
Member

skriss commented Feb 13, 2024

selfnote: consider effects of Endpoint updates

@izturn
Copy link
Member

izturn commented Feb 22, 2024

@skriss, we have some non-prod environments, but we don't put a lot of payloads on them, we will try it later

@izturn
Copy link
Member

izturn commented Mar 1, 2024

@skriss Based on our limited testing, everything is fine

skriss added a commit to skriss/contour that referenced this issue Mar 7, 2024
The default xDS server implementation is
now `envoy`, i.e. the go-control-plane
implementation.

Updates projectcontour#2134.

Signed-off-by: Steve Kriss <[email protected]>
skriss added a commit that referenced this issue Mar 7, 2024
- Triggers only EDS updates when endpoints change
- Does not trigger EDS updates when only non-endpoints change

Updates #2134.

Signed-off-by: Steve Kriss <[email protected]>
skriss added a commit to skriss/contour that referenced this issue Mar 7, 2024
The default xDS server implementation is
now `envoy`, i.e. the go-control-plane
implementation.

Updates projectcontour#2134.

Signed-off-by: Steve Kriss <[email protected]>
@sunjayBhatia sunjayBhatia assigned skriss and unassigned sunjayBhatia Mar 7, 2024
@skriss skriss moved this from Todo to In Progress in Contour Mar 7, 2024
skriss added a commit that referenced this issue Mar 12, 2024
skriss added a commit that referenced this issue Mar 12, 2024
The default xDS server implementation is
now `envoy`, i.e. the go-control-plane
implementation.

Updates #2134.

Signed-off-by: Steve Kriss <[email protected]>
lubronzhan pushed a commit to lubronzhan/contour that referenced this issue Mar 13, 2024
- Triggers only EDS updates when endpoints change
- Does not trigger EDS updates when only non-endpoints change

Updates projectcontour#2134.

Signed-off-by: Steve Kriss <[email protected]>
lubronzhan pushed a commit to lubronzhan/contour that referenced this issue Mar 13, 2024
lubronzhan pushed a commit to lubronzhan/contour that referenced this issue Mar 13, 2024
The default xDS server implementation is
now `envoy`, i.e. the go-control-plane
implementation.

Updates projectcontour#2134.

Signed-off-by: Steve Kriss <[email protected]>
@skriss skriss modified the milestones: 1.29.0, 1.30.0 May 2, 2024
@skriss
Copy link
Member

skriss commented May 6, 2024

Remaining work here is to fully remove the Contour xDS server option and implementation, can plan to do this for the 1.31 release assuming no major issues post-1.29. release.

@skriss skriss modified the milestones: 1.30.0, 1.31.0 May 6, 2024
skriss added a commit to skriss/contour that referenced this issue Jul 17, 2024
Fields are planned to be removed in the 1.31 release.

Updates projectcontour#2134.

Signed-off-by: Steve Kriss <[email protected]>
skriss added a commit that referenced this issue Jul 17, 2024
Fields are planned to be removed in the 1.31 release.

Updates #2134.

Signed-off-by: Steve Kriss <[email protected]>
geomacy pushed a commit to chaosbox/contour that referenced this issue Aug 22, 2024
Fields are planned to be removed in the 1.31 release.

Updates projectcontour#2134.

Signed-off-by: Steve Kriss <[email protected]>
Signed-off-by: Geoff Macartney <[email protected]>
SamMHD pushed a commit to SamMHD/contour that referenced this issue Sep 8, 2024
Fields are planned to be removed in the 1.31 release.

Updates projectcontour#2134.

Signed-off-by: Steve Kriss <[email protected]>
Signed-off-by: Saman Mahdanian <[email protected]>
skriss added a commit to skriss/contour that referenced this issue Jan 8, 2025
@skriss skriss linked a pull request Jan 8, 2025 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/cleanup Categorizes issue or PR as related to cleaning up code, process, or technical debt. priority/important-soon Must be staffed and worked on either currently, or very soon, ideally in time for the next release.
Projects
Status: In Progress
6 participants