Troubleshooting
Testground is still in early stage of development, so it is possible that:
  • Testground crashes
  • One of the underlying systems that Testground uses crashes (Kubernetes, weave , redis, etc.)
  • Testground doesn't properly clean-up after a test run
  • etc.
Here are a few commands that could be helpful for you to inspect the state of your Kubernetes cluster and clean up after Testground:
Delete all pods that have the testground.plan=dht label. This is useful in case you used the --run-cfg keep_service=true setting on Testground.
$ kubectl delete pods -l testground.plan=dht --grace-period=0 --force

Restart the sidecar

Restart the sidecar daemon which manages networks for all testplans
$ kubectl delete pods -l name=testground-sidecar --grace-period=0 --force

Review running, completed, failed pods

You can check all running pods with
$ kubectl get pods -o wide
Another useful combination is watching for pods that are not in Running state or that are failing their health checks, with:
# watch all non-running pods
watch 'kubectl get pods --all-namespaces -o wide | grep -v Running'
# watch all not-ready pods
watch 'kubectl get pods --all-namespaces -o wide | grep "0\/1"'

Get logs from a given pod

$ kubectl logs <pod-id, e.g. tg-dht-c95b5>

Get access to the Redis shell

$ kubectl port-forward svc/testground-infra-redis-master 6379:6379 &
$ redis-cli -h localhost -p 6379
Copy link
Outline
Delete all pods related to a test plan
Restart the sidecar
Review running, completed, failed pods
Get logs from a given pod
Get access to the Redis shell