✨ New features
There are a couple of additions to the TestRun CRD in this release:
-
It's now possible to set
.spec.runner.priorityClassName,.spec.starter.priorityClassName, and.spec.initializer.priorityClassNameto help avoid unwanted evictions of pods. Thanks, @vsoloviov! -
Init containers can have custom resources set as
.spec.runner.initContainers[*].resources, for cases when preparation for the test run requires more resources. Thanks, @gcaldasnu!
Additionally, this release contains a resolution to configurable path in VolumeClaim. Thanks, @moko-poi! Now it's possible to set the path like this:
apiVersion: k6.io/v1alpha1
kind: TestRun
metadata:
name: k6-test-with-pvc
spec:
script:
volumeClaim:
name: dynamic-pvc
file: /foo/script.js # Path to the script
readOnly: true
parallelism: 1It's a backwards-compatible change, so existing TestRuns should continue to work as is.
Another small improvement was to improve log output of curl containers, turning them to JSON. Thanks, @moko-poi!
Last but not least, BackoffLimit of starter Job is now set to zero, to avoid additional creation of starter or stopper pods on failure to reach k6 runners. It's worth noting that curl containers are configured with three retries to ensure that such a failure is not transient. Thanks, @moko-poi!
🐛 Bug fixes
A simple validation for .spec.arguments has been added to avoid accidental Golang panic on misconfigured TestRun CRD. Note, this is not a full validation of all possible arguments: such validation is a job of k6 CLI and is expected to be done by a user before writing it down in the TestRun spec.
📦 Helm
Helm chart received a fix to ensure that manager.serviceAccount.create option is taken into account. Thanks, @bcrisp4!
🛠️ Maintenance
Logs of the k6-operator were adjusted to include the host value for GCk6 API calls, to assist with troubleshooting.
Full Changelog: v1.0.0...v1.1.0