Skip to content
This repository was archived by the owner on Jul 24, 2025. It is now read-only.
This repository was archived by the owner on Jul 24, 2025. It is now read-only.

Avoid controller crash when external CRD is not installed #186

@asm582

Description

@asm582

Describe the bug
The controller crashes when started before installing the gatewayinferenceextension CRDs on the cluster.

To Reproduce
Deploy the controller without installing gatewayinferenceextension CRDs

Expected behavior
The controller should wait for CRDs to be installed at boottime.

Screenshots

"level":"error","ts":"2025-05-15T15:20:52.068806116Z","logger":"controller-runtime.source.EventHandler","caller":"source/kind.go:71","msg":"if kind is a CRD, it should be installed before calling Start","kind":"InferenceModel.inference.networking.x-k8s.io","error":"no matches for kind \"InferenceModel\" in version \"inference.networking.x-k8s.io/v1alpha2\"","stacktrace":"sigs.k8s.io/controller-runtime/pkg/internal/source.(*Kind[...]).Start.func1.1\n\t/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/source/kind.go:71\nk8s.io/apimachinery/pkg/util/wait.loopConditionUntilContext.func1\n\t/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/loop.go:53\nk8s.io/apimachinery/pkg/util/wait.loopConditionUntilContext\n\t/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/loop.go:54\nk8s.io/apimachinery/pkg/util/wait.PollUntilContextCancel\n\t/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/poll.go:33\nsigs.k8s.io/controller-runtime/pkg/internal/source.(*Kind[...]).Start.func1\n\t/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/source/kind.go:64"}
{"level":"error","ts":"2025-05-15T15:20:52.069413574Z","logger":"controller-runtime.source.EventHandler","caller":"source/kind.go:71","msg":"if kind is a CRD, it should be installed before calling Start","kind":"InferencePool.inference.networking.x-k8s.io","error":"no matches for kind \"InferencePool\" in version \"inference.networking.x-k8s.io/v1alpha2\"","stacktrace":"sigs.k8s.io/controller-runtime/pkg/internal/source.(*Kind[...]).Start.func1.1\n\t/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/source/kind.go:71\nk8s.io/apimachinery/pkg/util/wait.loopConditionUntilContext.func1\n\t/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/loop.go:53\nk8s.io/apimachinery/pkg/util/wait.loopConditionUntilContext\n\t/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/loop.go:54\nk8s.io/apimachinery/pkg/util/wait.PollUntilContextCancel\n\t/go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/poll.go:33\nsigs.k8s.io/controller-runtime/pkg/internal/source.(*Kind[...]).Start.func1\n\t/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/source/kind.go:64"}

Additional context
NA

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