-
Notifications
You must be signed in to change notification settings - Fork 4.4k
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
xds: default to speaking xDS v3, but allow for v2 to be spoken upon request #9658
Conversation
This pull request is being automatically deployed with Vercel (learn more). consul-ui-staging – ./ui🔍 Inspect: https://vercel.com/hashicorp/consul-ui-staging/qlhbtiht9 [Deployment for 880dd82 canceled] |
@@ -0,0 +1,522 @@ | |||
package xds |
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.
This is the most magical part.
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.
When can this code be removed?
It seems like we'll end up having some sort of documentation note for whatever version 'x' this ships in to upgrade all versions of consul to 'x', then do any upgrades to versions > x. Is it correct to think that we'll have everything on v3 after upgrading to version x? Would this code be needed in versions x+1 and greater?
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.
Most likely 1-2 more releases. At worst it's when our envoy support matrix looks like:
- 1.20.x (v2 deleted)
- 1.19.x (v2 deleted)
- 1.18.x (v2 deleted)
- 1.17.x (v2 opt-in)
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.
Maybe put that in a doc comment here for future readers.
@@ -557,6 +557,7 @@ func (c *BootstrapConfig) generateListenerConfig(args *BootstrapTplArgs, bindAdd | |||
|
|||
clusterJSON := `{ | |||
"name": "` + selfAdminName + `", | |||
"ignore_health_on_host_removal": false, |
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.
This is a default setting only set to force envoy to notice this should be definitely v3.
7ed3c35
to
d42b71b
Compare
d42b71b
to
87aa61f
Compare
87aa61f
to
f42cf93
Compare
…equest - Also add support for envoy 1.17.0
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.
A few minor nits, but otherwise looks good to me.
} | ||
} | ||
return nil | ||
case *any.Any: |
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.
Minor nit, it might make more sense to pull this case to the front, since it is a little special. Not a blocker.
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.
I'll leave it for now. The order of the switches roughly reads top-to-bottom the way they would be first used. So for instance this function is about converting responses so you enter with a DiscoveryResponse
. The bulk of a DiscoveryResponse
is a list of generic any.Any
resources which is why that section comes second, and so on.
@@ -0,0 +1,522 @@ | |||
package xds |
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.
Maybe put that in a doc comment here for future readers.
🍒 If backport labels were added before merging, cherry-picking will start automatically. To retroactively trigger a backport after merging, add backport labels and re-run https://circleci.com/gh/hashicorp/consul/333097. |
Additionally adds in support for envoy
1.17.0