The v2 xDS major version is deprecated and disabled by default (Envoy)

Peter Jausovec
1 min readFeb 23, 2021

I was playing with EnvoyFilters in Istio and ran into this error:

ADS:LDS: ACK ERROR router~10.92.0.5~istio-ingressgateway-68d5fdd67f-ph996.istio-system~istio-system.svc.cluster.local-7 Internal:Error adding/updating listener(s) 0.0.0.0_8080: The v2 xDS major version is deprecated and disabled by default. Support for v2 will be removed from Envoy at the start of Q1 2021. You may make use of v2 in Q4 2020 by following the advice in https://www.envoyproxy.io/docs/envoy/latest/faq/api/transition. (envoy.config.filter.http.lua.v2.Lua)

Not being too proficient with EnvoyFilters, the URL in the error didn’t help me much. It was saying to set a bootstrap-version flag on the CLI… There was another clue in: How do I configure Envoy to use the v3 API?

The only line in the EnvoyFilter YAML that references v2 was this one:

typed_config: "@type": "type.googleapis.com/envoy.config.filter.http.lua.v2.Lua"

I tried the obvious thing — changing the v2 to v3 in the above name, but that would be too easy. After a bit of searching around, I stumbled upon an integration test in Envoy that was referencing the v3 type.

This how the v3 type name looks like:

"@type": "type.googleapis.com/envoy.extensions.filters.http.lua.v3.Lua"

Lo and behold, once I fixed the type name, the EnvoyFilter started working again!

--

--