Kuadrant / multicluster-gateway-controller

multi-cluster gateway controller, manages multi-cluster gateways based on gateway api and policy attachment
Apache License 2.0
10 stars 23 forks source link

MGC support for GWAPI v1 #630

Closed maleck13 closed 7 months ago

maleck13 commented 8 months ago

What

V1 of GWAPI is approaching we need to start testing with the new resources. https://github.com/kubernetes-sigs/gateway-api/releases/tag/v1.0.0-rc2

How

laurafitzgerald commented 8 months ago

WIP Branch https://github.com/laurafitzgerald/multicluster-gateway-controller/tree/gh-630

laurafitzgerald commented 8 months ago

There's some discussion at https://kubernetes.slack.com/archives/C05J0D0V525/p1698851598969379 about an issue I faced due to rules being too costly for httproutes when it comes to parentRef.

kuadrant-operator have logged it here GEP: Add Name to HTTPRouteRule and HTTPRouteMatch · Issue #995 · kubernetes-sigs/gateway-api

And have a solution on their side https://github.com/Kuadrant/kuadrant-operator/pull/286/commits/56a9a346b38907f93cff17b4935467fd0e5c17a6

It's blocking us from running our integration tests because the environment fails on CRD creation producing the following error

unable to install CRDs onto control plane: unable to create CRD instances: unable to create CRD \"httproutes.gateway.networking.k8s.io\": CustomResourceDefinition.apiextensions.k8s.io \"httproutes.gateway.networking.k8s.io\" is invalid: [spec.versions[0].schema.openAPIV3Schema.properties[spec].properties[parentRefs].x-kubernetes-validations[0].rule: Forbidden: estimated rule cost exceeds budget by factor of more than 100x (try simplifying the rule, or adding maxItems, maxProperties, and maxLength where arrays, maps, and strings are declared), spec.versions[0].schema.openAPIV3Schema.properties[spec].properties[parentRefs].x-kubernetes-validations[0].rule: Forbidden: contributed to estimated rule cost total exceeding cost limit for entire OpenAPIv3 schema, spec.versions[0].schema.openAPIV3Schema: Forbidden: x-kubernetes-validations estimated rule cost total for entire OpenAPIv3 schema exceeds budget by factor of more than 100x (try simplifying the rule, or adding maxItems, maxProperties, and maxLength where arrays, maps, and strings are declared)]
laurafitzgerald commented 8 months ago

For running through the walkthrough one issue is faced for the istio class gateway, which is that the Programmed status remains unknown.

This could be addressed by https://github.com/istio/istio/commit/73e4596b49e1462048fe781b672f552b37a4214f which is being cherrypicked to release 1.20.0 of istio. We are currently running 1.17.0.

1.20.0-beta.0 is available https://hub.docker.com/r/istio/pilot/tags but we may have a short wait for 1.20.0 to be available.

Update the following https://github.com/search?q=repo%3AKuadrant%2Fmulticluster-gateway-controller%201.17.0&type=code to move to the new version once it's available.