Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

"no matches for kind \"K6\" in sigs.k8s.io/controller-runtime/pkg/internal/source.(*Kind[...]).Start.func1.1" even with TestRun usage #518

Open
robooo opened this issue Jan 24, 2025 · 7 comments
Labels
bug Something isn't working

Comments

@robooo
Copy link

robooo commented Jan 24, 2025

Brief summary

Hi,
I'm deploying operator with terraform like:

resource "helm_release" "k6-operator" {                                                                                                                                                                              
  name = "k6-operator"                                                                                                                                                                                               
                                                                                                                                                                                                                     
  repository = "https://grafana.github.io/helm-charts"                                                                                                                                                               
  chart = "k6-operator"   

and kubernetes deployment starts with:

apiVersion: k6.io/v1alpha1                                                                                                                                                                                           
kind: TestRun                                                                                                                                                                                                        
metadata:                                                                                                                                                                                                            
  name: k6-testrun-se                                                                                                                                                                                                
  namespace: default                                                                                                                                                                                                 
spec:

It was working until today, I'm getting error:

 manager 2025-01-24T16:05:42Z    ERROR    Reconciler error    {"controller": "testrun", "controllerGroup": "k6.io", "controllerKind": "TestRun", "TestRun": {"name":"k6-testrun-se","namespace":"default"}, "names │
│ manager sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).reconcileHandler                                                                                                                │
│ manager     /go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:316                                                                                                          │
│ manager sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).processNextWorkItem                                                                                                             │
│ manager     /go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:263                                                                                                          │
│ manager sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).Start.func2.2                                                                                                                   │
│ manager     /go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:224                                                                                                          │
│ manager 2025-01-24T16:05:42Z    INFO    controllers.TestRun    Reconcile(); stage = initialized    {"namespace": "default", "name": "k6-testrun-se", "reconcileID": "71ec2f55-3233-44e9-8678-31243ffd4e75"}       │
│ manager 2025-01-24T16:05:42Z    INFO    controllers.TestRun    Creating test jobs    {"namespace": "default", "name": "k6-testrun-se", "reconcileID": "71ec2f55-3233-44e9-8678-31243ffd4e75"}                     │
│ manager 2025-01-24T16:05:42Z    INFO    controllers.TestRun    job with the name k6-testrun-se-1 exists; make sure you've deleted your previous run    {"namespace": "default", "name": "k6-testrun-se", "reconci │
│ manager 2025-01-24T16:05:42Z    ERROR    Reconciler error    {"controller": "testrun", "controllerGroup": "k6.io", "controllerKind": "TestRun", "TestRun": {"name":"k6-testrun-se","namespace":"default"}, "names │
│ manager sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).reconcileHandler                                                                                                                │
│ manager     /go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:316                                                                                                          │
│ manager sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).processNextWorkItem                                                                                                             │
│ manager     /go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:263                                                                                                          │
│ manager sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).Start.func2.2                                                                                                                   │
│ manager     /go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:224                                                                                                          │
│ manager 2025-01-24T16:05:51Z    ERROR    controller-runtime.source.EventHandler    if kind is a CRD, it should be installed before calling Start    {"kind": "K6.k6.io", "error": "no matches for kind \"K6\" in  │
│ manager sigs.k8s.io/controller-runtime/pkg/internal/source.(*Kind[...]).Start.func1.1                                                                                                                             │
│ manager     /go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/source/kind.go:71                                                                                                                     │
│ manager k8s.io/apimachinery/pkg/util/wait.loopConditionUntilContext.func2                                                                                                                                         │
│ manager     /go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/loop.go:87                                                                                                                                      │
│ manager k8s.io/apimachinery/pkg/util/wait.loopConditionUntilContext                                                                                                                                               │
│ manager     /go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/loop.go:88                                                                                                                                      │
│ manager k8s.io/apimachinery/pkg/util/wait.PollUntilContextCancel                                                                                                                                                  │
│ manager     /go/pkg/mod/k8s.io/[email protected]/pkg/util/wait/poll.go:33                                                                                                                                      │
│ manager sigs.k8s.io/controller-runtime/pkg/internal/source.(*Kind[...]).Start.func1                                                                                                                               │
│ manager     /go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/source/kind.go:64     

what is wrong here please?

k6-operator version or image

ghcr.io/grafana/k6-operator:controller-v0.0.18

Helm chart version (if applicable)

3.10.2

TestRun / PrivateLoadZone YAML

apiVersion: k6.io/v1alpha1
kind: TestRun
metadata:
name: k6-testrun-se
namespace: default
spec:

Other environment details (if applicable)

No response

Steps to reproduce the problem

  • Deploy the operator via terraform
  • use included testrun kubernetes file

Expected behaviour

Deployment should run with no error

Actual behaviour

Getting error
"no matches for kind "K6" in sigs.k8s.io/controller-runtime/pkg/internal/source.(*Kind[...]).Start.func1.1" even with TestRun usage

@robooo robooo added the bug Something isn't working label Jan 24, 2025
@yorugac
Copy link
Collaborator

yorugac commented Jan 24, 2025

@robooo, what is the Helm chart version?

@robooo
Copy link
Author

robooo commented Jan 27, 2025

@yorugac, 3.10.2
always using the latest when doing my deployments
+
Not sure if it's related but after a while it cause

manager 2025-01-27T12:13:36Z    ERROR    Could not wait for Cache to sync    {"controller": "k6", "controllerGroup": "k6.io", "controllerKind": "K6", "error": "failed to wait for k6 caches to sync: timed out w │
│ manager sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).Start.func2.1                                                                                                                   │
│ manager     /go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:200                                                                                                          │
│ manager sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).Start.func2                                                                                                                     │
│ manager     /go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:205                                                                                                          │
│ manager sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).Start                                                                                                                           │
│ manager     /go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:231                                                                                                          │
│ manager sigs.k8s.io/controller-runtime/pkg/manager.(*runnableGroup).reconcile.func1                                                                                                                               │
│ manager     /go/pkg/mod/sigs.k8s.io/[email protected]/pkg/manager/runnable_group.go:226                                                                                                                  │
│ manager 2025-01-27T12:13:36Z    INFO    Stopping and waiting for non leader election runnables                                                                                                                    │
│ manager 2025-01-27T12:13:36Z    INFO    Stopping and waiting for leader election runnables                                                                                                                        │
│ manager 2025-01-27T12:13:36Z    INFO    Shutdown signal received, waiting for all workers to finish    {"controller": "testrun", "controllerGroup": "k6.io", "controllerKind": "TestRun"}                         │
│ manager 2025-01-27T12:13:36Z    INFO    All workers finished    {"controller": "testrun", "controllerGroup": "k6.io", "controllerKind": "TestRun"}                                                                │
│ manager 2025-01-27T12:13:36Z    INFO    Shutdown signal received, waiting for all workers to finish    {"controller": "privateloadzone", "controllerGroup": "k6.io", "controllerKind": "PrivateLoadZone"}         │
│ manager 2025-01-27T12:13:36Z    INFO    All workers finished    {"controller": "privateloadzone", "controllerGroup": "k6.io", "controllerKind": "PrivateLoadZone"}                                                │
│ manager 2025-01-27T12:13:36Z    INFO    Stopping and waiting for caches                                                                                                                                           │
│ manager 2025-01-27T12:13:36Z    INFO    Stopping and waiting for webhooks                                                                                                                                         │
│ manager 2025-01-27T12:13:36Z    INFO    Stopping and waiting for HTTP servers                                                                                                                                     │
│ manager 2025-01-27T12:13:36Z    INFO    controller-runtime.metrics    Shutting down metrics server with timeout of 1 minute                                                                                       │
│ manager 2025-01-27T12:13:36Z    INFO    Wait completed, proceeding to shutdown the manager                                                                                                                        │
│ manager 2025-01-27T12:13:36Z    ERROR    setup    problem running manager    {"error": "failed to wait for k6 caches to sync: timed out waiting for cache to be synced for Kind *v1alpha1.K6"}                    │
│ manager main.main                                                                                                                                                                                                 │
│ manager     /workspace/main.go:124                                                                                                                                                                                │
│ manager runtime.main                                                                                                                                                                                              │
│ manager     /usr/local/go/src/runtime/proc.go:271 

which cause CrashLoopBackOff 1 of the pods of operator.

@shehzadqureshi
Copy link

i'm having the same problem with 3.10.1

@ajay-sainy
Copy link

same problem, helm k6-operator-3.10.2

@PMRMan
Copy link

PMRMan commented Jan 29, 2025

I have the same issue but only with chart 3.10.2.

@yorugac
Copy link
Collaborator

yorugac commented Jan 29, 2025

Thanks for the clarifications, @robooo and everyone!

The 3.10.2 chart is indeed broken 😞 It already has removal of K6 CRD but uses the older image 0.0.18 by default. It was just fixed now, with release 0.0.19 and corresponding Helm chart 3.11.0

Please update to 3.11.0:

$ helm repo update
...
$ helm upgrade k6-operator grafana/k6-operator
...
$ helm list
NAME       	NAMESPACE	REVISION	UPDATED                                	STATUS  	CHART             	APP VERSION
k6-operator	default  	4       	2025-01-29 19:35:30.657418979 +0200 EET	deployed	k6-operator-3.11.0	0.0.19   

@shehzadqureshi, I'm not sure why you had a problem with 3.10.1: AFAIS, that chart is fine with default values. Either way, it makes sense to update to 3.11 now.

@robooo
Copy link
Author

robooo commented Jan 30, 2025

@yorugac thank you for a fast fix!
for me the 3.11.0 chart with 0.0.19 works good now 🥇

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

5 participants