xds-federation: introduce OD-CDS xds-federation support#40988
Merged
yanavlasov merged 5 commits intoenvoyproxy:mainfrom Sep 9, 2025
Merged
Conversation
Signed-off-by: Adi Suissa-Peleg <adip@google.com>
Contributor
Author
|
Assigning @KBaichoo as potential OD-CDS user (no impact on the non-xDS-TP path at the moment, but feel free to comment), and @yanavlasov and @nezdolik for config-path reviewers. |
Signed-off-by: Adi Suissa-Peleg <adip@google.com>
KBaichoo
previously approved these changes
Sep 5, 2025
Contributor
KBaichoo
left a comment
There was a problem hiding this comment.
LGTM, thank you for flagging.
Signed-off-by: Adi Suissa-Peleg <adip@google.com>
…s_subscribe_singleton_v1 Signed-off-by: Adi Suissa-Peleg <adip@google.com>
KBaichoo
approved these changes
Sep 5, 2025
Contributor
|
/retest |
…s_subscribe_singleton_v1 Signed-off-by: Adi Suissa-Peleg <adip@google.com>
yanavlasov
approved these changes
Sep 9, 2025
yanavlasov
pushed a commit
that referenced
this pull request
Sep 18, 2025
… CDS SotW (#41117) Prior to this PR, an Envoy that used (old) ADS over SotW to fetch all the clusters and a xDS-TP-config-based source to fetch OD-CDS would see the OD-CDS clusters removed once the ADS update arrives. This PR, changes the SotW CDS wildcard update, and adds tracking to see which resources are fetched from that source. The tracking is only used if both (old) ADS and an xDS-TP based config is configured. This implementation is currently only for CDS, but will need to be part of the (future) xDS-Cache layer. Continuation of #40988. Risk Level: low - should only impact cases that use xDS-TP based configs (guarded by a false by default runtime guard). Testing: Added both unit and integration test. Docs Changes: N/A Release Notes: N/A Platform Specific Features: N/A --------- Signed-off-by: Adi Suissa-Peleg <adip@google.com>
mbadov
pushed a commit
to mbadov/envoy
that referenced
this pull request
Sep 22, 2025
…0988) Commit Message: xds-federation: introduce OD-CDS xds-federation support Additional Description: This PR introduces OD-CDS xds-Federation support. The implementation uses a new OD-CDS subscription management on the main thread, that is simpler than the former (issues subscriptions directly using the xDS-manager subscription function), and doesn't need to maintain the state of whether the first request was sent or not. It does so by allowing each subscription be a singleton subscription on the component side (the gRPC-mux to the xds-Federation server will ensure that a single subscription message is sent to the server). This approach handles some bugs that were detected for the non-xDS-TP based OD-CDS implementation. The plan is first to use this implementation for xDS-TP based resources, and when it is validated in production, move the ADS and the specific-config-source paths to use the new implementation/model. Apologies for the large PR, but the number of tests that was needed here is quite large. Risk Level: low - only for xDS-TP based config sources and it is guarded by the `envoy.reloadable_features.xdstp_based_config_singleton_subscriptions` runtime guard which is currently disabled. Testing: Added both unit-tests and integration tests Docs Changes: N/A (until the entire xDS-TP based config sources support is done). Release Notes: N/A (until the entire xDS-TP based config sources support is done). Platform Specific Features: N/A --------- Signed-off-by: Adi Suissa-Peleg <adip@google.com> Signed-off-by: Misha Badov <mbadov@google.com>
mbadov
pushed a commit
to mbadov/envoy
that referenced
this pull request
Sep 22, 2025
… CDS SotW (envoyproxy#41117) Prior to this PR, an Envoy that used (old) ADS over SotW to fetch all the clusters and a xDS-TP-config-based source to fetch OD-CDS would see the OD-CDS clusters removed once the ADS update arrives. This PR, changes the SotW CDS wildcard update, and adds tracking to see which resources are fetched from that source. The tracking is only used if both (old) ADS and an xDS-TP based config is configured. This implementation is currently only for CDS, but will need to be part of the (future) xDS-Cache layer. Continuation of envoyproxy#40988. Risk Level: low - should only impact cases that use xDS-TP based configs (guarded by a false by default runtime guard). Testing: Added both unit and integration test. Docs Changes: N/A Release Notes: N/A Platform Specific Features: N/A --------- Signed-off-by: Adi Suissa-Peleg <adip@google.com> Signed-off-by: Misha Badov <mbadov@google.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Commit Message: xds-federation: introduce OD-CDS xds-federation support
Additional Description:
This PR introduces OD-CDS xds-Federation support. The implementation uses a new OD-CDS subscription management on the main thread, that is simpler than the former (issues subscriptions directly using the xDS-manager subscription function), and doesn't need to maintain the state of whether the first request was sent or not.
It does so by allowing each subscription be a singleton subscription on the component side (the gRPC-mux to the xds-Federation server will ensure that a single subscription message is sent to the server). This approach handles some bugs that were detected for the non-xDS-TP based OD-CDS implementation.
The plan is first to use this implementation for xDS-TP based resources, and when it is validated in production, move the ADS and the specific-config-source paths to use the new implementation/model.
Apologies for the large PR, but the number of tests that was needed here is quite large.
Risk Level: low - only for xDS-TP based config sources and it is guarded by the
envoy.reloadable_features.xdstp_based_config_singleton_subscriptionsruntime guard which is currently disabled.Testing: Added both unit-tests and integration tests
Docs Changes: N/A (until the entire xDS-TP based config sources support is done).
Release Notes: N/A (until the entire xDS-TP based config sources support is done).
Platform Specific Features: N/A