Skip to content

breaking change in gateway CRDs between latest tagged and master #374

@lizbound

Description

@lizbound

While I was troubleshooting #373, I noticed another error repeating in the gateway CRD manager logs:

Feb 20 10:22:25 jinu cloud-provider-kind[517221]: E0220 10:22:25.587181  517221 reflector.go:204] "Failed to watch" err="failed to list *v1.ReferenceGrant: the server could not find the requested resource (get referencegrants.gateway.networking.k8s.io)" logger="UnhandledError" reflector="pkg/mod/k8s.io/client-go@v0.35.1/tools/cache/reflector.go:289" type="*v1.ReferenceGrant"

06427d4 updated the versions of the gateway CRDs, and that introduced a v1 ReferenceGrant, where previously there was only v1alpha1. The issue is that the mechanism in crd_manager is not sophisticated enough to "upgrade" this CRD:

Feb 19 16:31:13 jinu cloud-provider-kind[515405]: I0219 16:31:13.883316  515405 crd_manager.go:122] CRD "referencegrants.gateway.networking.k8s.io" already exists, skipping creation.

Thus, the only way to use this new version of cloud-provider-kind is to delete all the existing CRDs:

kubectl --context kind-kind get crd -oname | grep -E "gateway.networking.(x-)?k8s.io" | xargs kubectl --context kind-kind delete

Then they'll be recreated.

Kind clusters are often short-lived, so this might be a WONTFIX, but it certainly needs to go in the changelog and may necessitate a version bump.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions