v2 xDS API deprecation, removal and disable-by-default

91 views
Skip to first unread message

Harvey Tuch

unread,
Sep 25, 2020, 6:01:20 PM9/25/20
to envoy-a...@googlegroups.com, envoy-users, envoy-dev, Envoy-maintainers
Hi Envoy community,

Following the release of the v3 major version of the xDS APIs in Envoy 1.13.0 (January 2020), the xDS API lifecycle implies that we should be removing the deprecated v2 xDS APIs after the Envoy 1.17.0 release (January 2021).

We plan to introduce a runtime flag envoy.reloadable_features.enable_deprecated_v2_api after the Envoy 1.16.0 release (October 2020) that will by default be false and disable support for the v2 xDS APIs. Any attempt to configure the v2 xDS APIs (transport or resource version) or make use of a v2 bootstrap will result in configuration rejection. Any xDS resource message that is delivered with a v2 type URL will be rejected. The runtime flag may be flipped to true for Q4.

We intend to delete support for v2 xDS APIs in Envoy 1.17.0 unless we have an indication that this will impact a significant number of users. We may consider a single quarter grace period in this situation, but for the technical health of Envoy we would like to remove v2 in a bounded period.

We do not plan any new major versions in 2021, so the v3 xDS API will continue to be usable for at least another 2 years. We have incorporated feedback from control plane vendors in the xDS versioning policy to reduce the rate at which major version transitions occur. We intend to implement a more incremental minor/patch versioning policy going forward. We also have a ticket tracking a v2 --> v3 postmortem here, we encourage you to leave any data points that can feed into this and future versioning policies.

Please contact reach out to envoy-ma...@googlegroups.com if you have any questions or concerns.

Cheers,
Harvey

Harvey Tuch

unread,
Nov 12, 2020, 9:26:09 AM11/12/20
to envoy-a...@googlegroups.com, envoy-users, envoy-dev, Envoy-maintainers
FYI, v2 disable-by-default landed on HEAD with https://github.com/envoyproxy/envoy/pull/13950 at 0e42452a48a8e8d10f5a230a94acb7e5fe84e38f. For Q4, to continue using v2 bootstrap files you can set --bootstrap-version 2 on the CLI and for dynamic v2 API (or v2 extensions) set the envoy.reloadable_features.enable_deprecated_v2_api runtime option.
Reply all
Reply to author
Forward
0 new messages