cyclonus
cyclonus copied to clipboard
speed up test runs
client-side:
- https://github.com/kubernetes/kubernetes/blob/master/test/images/agnhost/connect/connect.go
server-side:
- https://github.com/kubernetes/kubernetes/tree/master/test/images/agnhost/porter
- https://github.com/kubernetes/kubernetes/tree/master/test/images/agnhost/serve-hostname
ideas:
- reduce number of
kubectl exec
calls - avoid spinning up an agnhost binary for each network call
A couple more possible ideas (though note I've not read the code in this area, so bear that in mind):
- run checks in parallel
- run all the checks continuously within the pod and report current result via an http server (or equivalently a prom metrics endpoint) - so checking the overall connectivity map becomes a single curl to each pod
- run a pod for each check that continuously does the check and report success/failure via its Readiness check? Then checking the overall connectivity map is simply a
kubectl get po -A
(or equivalent api call)