dns: renumber dns filter fields for wire compatibility (#17943)#18018
Conversation
) Field 2 in the `DnsFilterConfig` message was released in Envoy 1.18, and repurposed in Envoy 1.19. Renumber the field, while leaving a compatibility field so that control planes can gracefully migrate to a subsequent 1.19 release. This fixes envoyproxy#17921. Signed-off-by: James Peach <jpeach@apache.org> (cherry picked from commit ff9704e)
|
/retest |
|
Retrying Azure Pipelines: |
|
Do we need to back port this fix #17107 so that CI pass? |
| // This field was used for `dns_resolution_config` in Envoy 1.19.0 and | ||
| // 1.19.1. | ||
| // Control planes that need to set this field for Envoy 1.19.0 and | ||
| // 1.19.1 clients should fork the protobufs and change the field type | ||
| // to `DnsResolutionConfig`. | ||
| // Control planes that need to simultaneously support Envoy 1.18.x and | ||
| // Envoy 1.19.x should avoid Envoy 1.19.0 and 1.19.1. | ||
| // | ||
| // [#not-implemented-hide:] | ||
| repeated config.core.v3.Address upstream_resolvers = 2 | ||
| [deprecated = true, (envoy.annotations.deprecated_at_minor_version) = "3.0"]; | ||
|
|
There was a problem hiding this comment.
Why not just reserve this number and field name?
There was a problem hiding this comment.
I'm assuming that there is a control plane that will consume these protobufs and have Envoy 1.18 and 1.19 clients. That's the case for Kuma (though IIUC we will end up consuming this change from Envoy master via the sync to go-control-plane).
Anyway, reserving the field fixes the envoy side in this branch, but the type is still needed so that a control plane can use this proto definition with 1.18.
|
/assign-from @envoyproxy/api-shepherds |
|
@envoyproxy/api-shepherds assignee is @lizan |
|
/lgtm api |
|
cc @mathetake for stable maintainer review. |
|
Friendly ping @mathetake |
mathetake
left a comment
There was a problem hiding this comment.
Sorry for being late-- LGTM
|
compile_time_options has been broken since before 1.19.1 was released so I think it is harmless. I will merge this one. |
Commit Message:
Field 2 in the
DnsFilterConfigmessage was released in Envoy 1.18,and repurposed in Envoy 1.19. Renumber the field, while leaving a
compatibility field so that control planes can gracefully migrate to a
subsequent 1.19 release.
Risk Level: Medium. Note that this breaks wire compatibility with 1.19.0 and 1.19.1 in order to fix wire compatibility with 1.18.
Testing: Unit tests.
Docs Changes: None.
Release Notes: Included.
Fixes #17921.
This is a backport of #17943 for the 1.19.2 release.