1.24: Find a way to seemlessly handle Gateway API upgrade breakage
2024-11-09T14:16:18.383340Z error watch error in cluster neo: failed to list *v1beta1.GatewayClass: json: cannot unmarshal string into Go struct field GatewayClassStatus.items.status.supportedFeatures of type v1.SupportedFeature
is an error reported with GW API 1.1 and Istio 1.24.
We should explore our options here...
- Upgrade notice?
istioctl precheckwarning?- Automatically make it work somehow?
The root cause of this is the upstream GW API made a breaking API change on the resource. The old schema cannot marshal into the new schema, blocking Istio startup.
If you experience this, you can either edit the GatewayClass status to remove supportedFeatures, or just remove the GatewayClass entirely and Istiod will recreate it (this does NOT break Gateways for the Istio class, but may break other implementations' classes, so use caution)
idea: add a custom json unmarshaller upstream to either translate or ignore it
/assign
fixed by https://github.com/istio/istio/pull/53993