envoyproxy/envoy

Support xDS server subscription to client resources

Open

#11,396 opened on Jun 1, 2020

View on GitHub
 (13 comments) (3 reactions) (1 assignee)C++ (5,373 forks)batch import
api/v3enhancementhelp wanted

Repository metrics

Stars
 (27,997 stars)
PR merge metrics
 (Avg merge 8d) (378 merged PRs in 30d)

Description

In order to be able to gain knowledge of resource readiness (https://github.com/envoyproxy/envoy/issues/5174), a management server today needs to resort to OOB techniques to learn whether a listener (for example) has successfully been bound to a port. There are other examples of this, for example resources failing to warm due to dependency failure. It's not sufficient to rely on xDS's inbuilt ACK/NACK mechanism, since these events often occur long after DiscoveryResponse acknowledgement.

We've been brainstorming approaches here and one that seemed highly attractive in UDPA-TP discussions was to make xDS fully symmetric (similar to what MCP does), allowing the management server to subscribe to resources produced from the client. This reverse pub-sub would then allow for details that are today made available in configdump or CSDS to be supplied directly to a management server inline in an ADS stream.

Ideally we have a design doc to start this work that examines how we can retrofit this into v3 xDS so that we can gain benefit today.

Contributor guide