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

xds: deduplicate mesh gateway listeners in a stable way #9650

Merged
merged 3 commits into from
Feb 5, 2021

Conversation

rboyer
Copy link
Member

@rboyer rboyer commented Jan 27, 2021

In a situation where the mesh gateway is configured to bind to multiple
network interfaces, we use a feature called 'tagged addresses'.
Sometimes an address is duplicated across multiple tags such as 'lan'
and 'lan_ipv4'.

There is code to deduplicate these things when creating envoy listeners,
but that code doesn't ensure that the same tag wins every time. If the
winning tag flaps between xDS discovery requests it will cause the
listener to be drained and replaced.

In a situation where the mesh gateway is configured to bind to multiple
network interfaces, we use a feature called 'tagged addresses'.
Sometimes an address is duplicated across multiple tags such as 'lan'
and 'lan_ipv4'.

There is code to deduplicate these things when creating envoy listeners,
but that code doesn't ensure that the same tag wins every time. If the
winning tag flaps between xDS discovery requests it will cause the
listener to be drained and replaced.
@rboyer rboyer requested a review from a team January 27, 2021 17:29
@rboyer rboyer self-assigned this Jan 27, 2021
@github-actions github-actions bot added the theme/envoy/xds Related to Envoy support label Jan 27, 2021
@vercel vercel bot temporarily deployed to Preview – consul January 27, 2021 20:14 Inactive
@vercel vercel bot temporarily deployed to Preview – consul-ui-staging January 27, 2021 20:14 Inactive
@vercel vercel bot temporarily deployed to Preview – consul-ui-staging January 27, 2021 20:17 Inactive
@vercel vercel bot temporarily deployed to Preview – consul January 27, 2021 20:17 Inactive
Copy link
Contributor

@freddygv freddygv left a comment

Choose a reason for hiding this comment

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

:shipit:

@rboyer rboyer merged commit adff0c0 into master Feb 5, 2021
@rboyer rboyer deleted the xds-mgw-listener-better-dedupe branch February 5, 2021 22:28
@hashicorp-ci
Copy link
Contributor

🍒 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/323773.

@hashicorp-ci
Copy link
Contributor

🍒✅ Cherry pick of commit adff0c0 onto release/1.9.x succeeded!

hashicorp-ci pushed a commit that referenced this pull request Feb 5, 2021
In a situation where the mesh gateway is configured to bind to multiple
network interfaces, we use a feature called 'tagged addresses'.
Sometimes an address is duplicated across multiple tags such as 'lan'
and 'lan_ipv4'.

There is code to deduplicate these things when creating envoy listeners,
but that code doesn't ensure that the same tag wins every time. If the
winning tag flaps between xDS discovery requests it will cause the
listener to be drained and replaced.
@hashicorp-ci
Copy link
Contributor

🍒✅ Cherry pick of commit adff0c0 onto release/1.8.x succeeded!

hashicorp-ci pushed a commit that referenced this pull request Feb 5, 2021
In a situation where the mesh gateway is configured to bind to multiple
network interfaces, we use a feature called 'tagged addresses'.
Sometimes an address is duplicated across multiple tags such as 'lan'
and 'lan_ipv4'.

There is code to deduplicate these things when creating envoy listeners,
but that code doesn't ensure that the same tag wins every time. If the
winning tag flaps between xDS discovery requests it will cause the
listener to be drained and replaced.
@hashicorp-ci
Copy link
Contributor

🍒❌ Cherry pick of commit adff0c0 onto release/1.7.x failed! Build Log

rboyer added a commit that referenced this pull request Feb 5, 2021
1.7.x backport of #9650

In a situation where the mesh gateway is configured to bind to multiple
network interfaces, we use a feature called 'tagged addresses'.
Sometimes an address is duplicated across multiple tags such as 'lan'
and 'lan_ipv4'.

There is code to deduplicate these things when creating envoy listeners,
but that code doesn't ensure that the same tag wins every time. If the
winning tag flaps between xDS discovery requests it will cause the
listener to be drained and replaced.
@rboyer
Copy link
Member Author

rboyer commented Feb 5, 2021

1.7.x backport: #9726

rboyer added a commit that referenced this pull request Feb 8, 2021
1.7.x backport of #9650

In a situation where the mesh gateway is configured to bind to multiple
network interfaces, we use a feature called 'tagged addresses'.
Sometimes an address is duplicated across multiple tags such as 'lan'
and 'lan_ipv4'.

There is code to deduplicate these things when creating envoy listeners,
but that code doesn't ensure that the same tag wins every time. If the
winning tag flaps between xDS discovery requests it will cause the
listener to be drained and replaced.
rboyer added a commit that referenced this pull request Feb 9, 2021
1.7.x backport of #9650

In a situation where the mesh gateway is configured to bind to multiple
network interfaces, we use a feature called 'tagged addresses'.
Sometimes an address is duplicated across multiple tags such as 'lan'
and 'lan_ipv4'.

There is code to deduplicate these things when creating envoy listeners,
but that code doesn't ensure that the same tag wins every time. If the
winning tag flaps between xDS discovery requests it will cause the
listener to be drained and replaced.
dizzyup pushed a commit that referenced this pull request Apr 21, 2021
In a situation where the mesh gateway is configured to bind to multiple
network interfaces, we use a feature called 'tagged addresses'.
Sometimes an address is duplicated across multiple tags such as 'lan'
and 'lan_ipv4'.

There is code to deduplicate these things when creating envoy listeners,
but that code doesn't ensure that the same tag wins every time. If the
winning tag flaps between xDS discovery requests it will cause the
listener to be drained and replaced.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
theme/envoy/xds Related to Envoy support
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants