envoy icon indicating copy to clipboard operation
envoy copied to clipboard

xds: Adds extension points to receive config update notifications

Open abeyad opened this issue 3 years ago • 6 comments

The purpose of this change is to add an API hook that enables taking actions when xDS config updates are received and when xDS resources are being loaded for the first time. This can be used as an extension point, for example, to persist and load xDS resources from a key value store or local storage.

This is an experimental feature and the API will not be published at this time.

This partially addresses some of the desired features outlined in https://github.com/envoyproxy/envoy/issues/19858.

Risk Level: Low Testing: Unit & Integration tests Docs Changes: N/A Release Notes: N/A Platform Specific Features: N/A

Signed-off-by: Ali Beyad [email protected]

abeyad avatar Aug 01 '22 01:08 abeyad

As a reminder, PRs marked as draft will not be automatically assigned reviewers, or be handled by maintainer-oncall triage.

Please mark your PR as ready when you want it to be reviewed!

:cat:

Caused by: https://github.com/envoyproxy/envoy/pull/22473 was opened by abeyad.

see: more, trace.

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/22473 was opened by abeyad.

see: more, trace.

/assign @alyssawilk @adisuissa

abeyad avatar Aug 01 '22 01:08 abeyad

/cc @goaway

abeyad avatar Aug 08 '22 14:08 abeyad

/assign @lizan

abeyad avatar Aug 09 '22 13:08 abeyad

https://github.com/envoyproxy/envoy/issues/21910 is also relevant here I think.

paul-r-gall avatar Aug 10 '22 15:08 paul-r-gall

#21910 is also relevant here I think.

Good point, I referenced it in the change description.

abeyad avatar Aug 16 '22 23:08 abeyad

@lizan friendly ping for your review of this PR, thanks!

abeyad avatar Aug 17 '22 18:08 abeyad

/retest

abeyad avatar Aug 18 '22 20:08 abeyad

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

:cat:

Caused by: a https://github.com/envoyproxy/envoy/pull/22473#issuecomment-1219920254 was created by @abeyad.

see: more, trace.

@adisuissa I pushed a commit using a new XdsSourceId class that encapsulates the resource id state. PTAL.

abeyad avatar Aug 23 '22 03:08 abeyad

/retest

abeyad avatar Aug 23 '22 13:08 abeyad

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

:cat:

Caused by: a https://github.com/envoyproxy/envoy/pull/22473#issuecomment-1224104031 was created by @abeyad.

see: more, trace.

/retest

abeyad avatar Aug 25 '22 12:08 abeyad

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

:cat:

Caused by: a https://github.com/envoyproxy/envoy/pull/22473#issuecomment-1227202202 was created by @abeyad.

see: more, trace.

Overall LGTM, thanks! We can start with this and change things if the design changes down the road. /lgtm api

Should be reviewed by non-Googler. @mattklein123 / @alyssawilk to suggest a reviewer.

Thanks Adi! Note: Lizan already approved as a non-Googler maintainer.

abeyad avatar Aug 30 '22 13:08 abeyad

Yes @lizan can do the final approval.

mattklein123 avatar Aug 30 '22 14:08 mattklein123

@adisuissa pushed a new commit that removes the base64 encoding of the key components.

abeyad avatar Aug 30 '22 15:08 abeyad

Defer to @adisuissa for final merge.

lizan avatar Aug 30 '22 19:08 lizan

Thanks for working through this one with me, @adisuissa !

abeyad avatar Aug 31 '22 14:08 abeyad