kubernauts / jmeter-kubernetes

Load testing as a service (LTaaS) with Apache Jmeter on kubernetes
Apache License 2.0
362 stars 249 forks source link

curl not installed on grafana container #12

Closed ndmacioce closed 5 years ago

ndmacioce commented 5 years ago

When running ./dashboard.sh, I get the following output:

Creating Influxdb jmeter Database Creating the Influxdb data source OCI runtime exec failed: exec failed: container_linux.go:348: starting container process caused "exec: \"curl\": executable file not found in $PATH": unknown command terminated with exit code 126

When I use kubectl exec to connect to the jmeter-grafana container and try to run curl, I see the following output:

sh: 1: curl: not found

It appears as if curl is not installed in the container. Running apt-get install curl requires root password.

arashkaffamanesh commented 5 years ago

Which k8s version and kubectl are you using?

ndmacioce commented 5 years ago

Hm that may be the problem, I am using minikube v0.30.0 and kubectl version shows

Client Version: version.Info{Major:"1", Minor:"12", GitVersion:"v1.12.0", GitCommit:"0ed33881dc4355495f623c6f22e7dd0b7632b7c0", GitTreeState:"clean", BuildDate:"2018-09-28T15:20:58Z", GoVersion:"go1.11", Compiler:"gc", Platform:"darwin/amd64"} Server Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.0", GitCommit:"fc32d2f3698e36b93322a3465f63a14e9f0eaead", GitTreeState:"clean", BuildDate:"2018-03-26T16:44:10Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"linux/amd64"}

arashkaffamanesh commented 5 years ago

try to downgrade the client version to 1.10, or use minishift 1.10, this works. We tested the whole thing on 1.11.x and it works.

ndmacioce commented 5 years ago

I found a workaround to my problem which I think is an edge case to my minikube implementation. I will mark this issue as closed but the workaround is as follows:

  1. Tested ping to the jmeter_grafana pod from my local machine (Mac OS)
    • This timed out, leading me to think it was a networking problem
  2. Using kubectl exec to connect to the jmeter influxdb pod's shell, I tested a ping to the jmeter_grafana pod. This was successful.
  3. JMeter_Influxdb had curl installed so I ran the curl command in ./dashboard.sh from the InfluxDB pod, substituting the grafana local IP (127.0.01) for the IP of the pod.
  4. Curl was successful and rest of implementation worked successfully.