istio icon indicating copy to clipboard operation
istio copied to clipboard

1.24: Find a way to seemlessly handle Gateway API upgrade breakage

Open howardjohn opened this issue 1 year ago • 2 comments

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 precheck warning?
  • 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)

howardjohn avatar Nov 09 '24 19:11 howardjohn

idea: add a custom json unmarshaller upstream to either translate or ignore it

howardjohn avatar Nov 14 '24 02:11 howardjohn

/assign

LiorLieberman avatar Nov 16 '24 20:11 LiorLieberman

fixed by https://github.com/istio/istio/pull/53993

howardjohn avatar Nov 21 '24 20:11 howardjohn