grafana / k6-operator

An operator for running distributed k6 tests.
Apache License 2.0
582 stars 159 forks source link

error : unknown flag: --execution-requirements #127

Closed joeunlog closed 2 years ago

joeunlog commented 2 years ago

I setup k6-operator at my eks cluster. It was working fine until about a week ago. Today, when I created k6 and tried to test it, an error stating "unknown flag: --execution-requirements" occurred in the k6 initializer. I don't know the cause at all. How should I check the operation?

image image image

yorugac commented 2 years ago

Hi @joeunlog, are you using custom image for runner? If so, what version of k6 are you using to build it?

joeunlog commented 2 years ago

image image

I use latest tag, so I don't know specific version. @yorugac If you need more information, i will check that.

joeunlog commented 2 years ago

image

@yorugac Since I made an image when installing k6, I think you can refer to the captured version of k6.

yorugac commented 2 years ago

I think latest caused issues with cached versions just recently :thinking: Could you please build with a tag instead? So use the following to build your custom image:

FROM ghcr.io/grafana/operator:runner-v0.0.8rc1
...

v0.0.8rc1 was made just yesterday.

joeunlog commented 2 years ago

image image

Same error occurred. And, I tested grafana/k6:latest image as runner, it work fine. Could it be that xk6 build is the cause?

yorugac commented 2 years ago

I think I've found the problem. That xk6 extension wasn't updated in awhile and it uses k6 0.32: https://github.com/szkiba/xk6-prometheus/blob/b3eaefdbaa7f518d8186b934b10a26e7e3aceeeb/go.mod#L9

That version won't work with the operator anymore. Did you see that extension in Readme? We should update it - it came up before, in #114.

Please switch to using one of our officially supported extensions, i.e. the ones hosted at https://github.com/grafana. Alternatively, Ivan Szkiba might be happy with the PR to his extension too :slightly_smiling_face:

joeunlog commented 2 years ago

@yorugac I checked xk6 officially supported extensions, but couldn't find proper extension. Could you recommand extension for using with prometheus-stack? I use podmonitor for scraping k6 http reponse metric while testing.

I read xk6-output-prometheus-remote but I couldn't attach to podmonitor.

joeunlog commented 2 years ago

I solved the problem by using ghcr.io/grafana/operator:controller-v0.0.7 image. This is temporary action. I will continue to look for available extensions to use the latest version of go. I will close this issue. Thanks for the quick response.

yorugac commented 2 years ago

Glad it was solved, though v0.0.7 doesn't have some bug fixes the latest has.

As for extensions, yes, we officially support only the Prometheus remote write output for OSS runs. I don't think you need a PodMonitor for that setup at all: k6 itself will send metrics to Prometheus with the extension. See the docs for details.

prateek-pagaria commented 2 years ago

@joeunlog @yorugac I am still facing the issue. k6 pods are not getting created. I tried using ghcr.io/grafana/operator:controller-v0.0.7 image. This is Dockerfile that i created, as suggested above.

Screenshot 2022-07-07 at 10 56 12

Pods not getting created. see below ss

Screenshot 2022-07-07 at 10 54 21

below is my k6 resource. pulling image which i pushed from my private repo `apiVersion: k6.io/v1alpha1 kind: K6 metadata: name: k6-req-otp-constant-rate-testing namespace: perf-testing spec: parallelism: 1 script: configMap: name: npci-req-otp-flow file: req_otp.js arguments: --out prometheus=subsystem=k6 --insecure-skip-tls-verify ports:

kindly assist.

joeunlog commented 2 years ago

@prateek-pagaria I use ghcr.io/grafana/operator:controller-v0.0.7 image as a k6 operator controller. Not k6 extention image. image This is my dockerfile.

You should use controller-v0.0.7 for k6-operator/controller. image

yorugac commented 2 years ago

@prateek-pagaria This issue is not because of controller - it is because of k6 version which is runner image. When you're building custom runner image of k6 with this specific extension (https://github.com/szkiba/xk6-prometheus), you're using outdated k6 libraries. Solution: do not use that extension until it is updated.

PS you didn't have to switch from forum to Github :slightly_smiling_face: