envoy icon indicating copy to clipboard operation
envoy copied to clipboard

upstream: support multiple upstream binding source addresses

Open soulxu opened this issue 3 years ago • 5 comments

Commit Message: upstream: support multiple upstream binding source addresses Additional Description: Currently, the upstream binding config only supports specified one source address https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/core/v3/address.proto#config-core-v3-bindconfig

When using the dual-stack, people have to create two cluster configs, then each cluster binds to a different source address, but most of the parts of those two cluster configs are the same except the upstream binding config.

This PR enables to specify multiple source addresses. The source address selection is based on the target host's address's version. Then the user needn't create duplicated cluster config anymore.

Risk Level: low Testing: unittest added Docs Changes: API doc updated Release Notes: new feature Platform Specific Features: n/a Fixes #9811 and part of #21640

soulxu avatar Aug 10 '22 10:08 soulxu

CC @envoyproxy/api-shepherds: Your approval is needed for changes made to (api/envoy/|docs/root/api-docs/). envoyproxy/api-shepherds assignee is @mattklein123 CC @envoyproxy/api-watchers: FYI only for changes made to (api/envoy/|docs/root/api-docs/).

:cat:

Caused by: https://github.com/envoyproxy/envoy/pull/22639 was opened by soulxu.

see: more, trace.

/wait

emm... failed on gcc, needs investigation.

soulxu avatar Aug 10 '22 14:08 soulxu

/retest

soulxu avatar Aug 11 '22 06:08 soulxu

Retrying Azure Pipelines: Retried failed jobs in: envoy-presubmit

:cat:

Caused by: a https://github.com/envoyproxy/envoy/pull/22639#issuecomment-1211617125 was created by @soulxu.

see: more, trace.

This is ready for review.

Macos CI seems unrelated failure.

soulxu avatar Aug 11 '22 07:08 soulxu

Thanks can you actually add validation logic to make sure that only a single additional address is provided, it has a different IP version, etc.? As well as tests?

/wait

Yea, I will add the validation and tests, thanks

soulxu avatar Aug 15 '22 23:08 soulxu

/retest

soulxu avatar Aug 18 '22 04:08 soulxu

Retrying Azure Pipelines: Retried failed jobs in: envoy-presubmit

:cat:

Caused by: a https://github.com/envoyproxy/envoy/pull/22639#issuecomment-1219030880 was created by @soulxu.

see: more, trace.