kudobuilder/kuttl

kuttl is slow to run empty test steps

gberche-orange opened this issue · 0 comments

What happened:

Given a set of 20 empty files following kuttl naming conventions,
When running kubectl-kuttl test <dir_name> -v 9

It takes 85s to complete.

I'm suspecting that there is some repetitive initialization (such as K8S client) in each step that takes times and slows down test executions. I'm also observing this with non empty test steps, but was interpreting that as normal latency from K8S api response.

What you expected to happen:

The empty test case to return immediately (say 5s for the whole test) since no K8S api calls should be made to define resources or assert presence of resources.

How to reproduce it (as minimally and precisely as possible):

  • Create a set of empty test steps
  • run kubectl-kuttl test <dir_name> -v 9

See detailed traces at https://gist.github.com/gberche-orange/6cec64078c4edb0af3d3ebbda05884c7

Anything else we need to know?:

Environment:

  • Kubernetes version (use kubectl version):
$ kubectl version
WARNING: This version information is deprecated and will be replaced with the output from kubectl version --short.  Use --output=yaml|json to get the full version.
Client Version: version.Info{Major:"1", Minor:"24", GitVersion:"v1.24.9", GitCommit:"9710807c82740b9799453677c977758becf0acbb", GitTreeState:"clean", BuildDate:"2022-12-08T10:15:09Z", GoVersion:"go1.18.9", Compiler:"gc", Platform:"linux/amd64"}
Kustomize Version: v4.5.4
Server Version: version.Info{Major:"1", Minor:"24", GitVersion:"v1.24.6+5658434", GitCommit:"eddac29feb4bb46b99fb570999324e582d761a66", GitTreeState:"clean", BuildDate:"2022-11-09T10:31:39Z", GoVersion:"go1.18.7", Compiler:"gc", Platform:"linux/amd64"}
  • KUTTL version (use kubectl kuttl version): 0.