-
Notifications
You must be signed in to change notification settings - Fork 40k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Density should cleanup better #10080
Comments
IMO it's not a problem. In Jenkins we do turn down clusters between runs, and when running manually it's all in hands of the person running. In my case, when running tests I was always waiting for proper namespace deletion. Delete indeed returns straight away, but In addition if you want to save the time you don't want to delete pods used to saturate the cluster (those first 30/node), as bringing them up again takes 7-8 minutes. Instead you just play with the test commenting out pieces you don't want to use, rebuild the test, which takes seconds and run it again. |
I believe we can close this issue. |
Sure, there's doing something like that, and theres leaving a clean environment for the next test by default so your tests can run in any order. We have iterations there as a feature, and I think we still run density as part of e2e, so anything that runs after it feels the after effects. It's just too easy to shoot yourself in the foot if you don't do proper cleanup in a test, assuming it's always giong to run alone in a fresh cluster doesn't sound like a good idea even if it happens to work today. |
IIUC this (i.e. test isolation) is deeper issue, not only for the Density, but also Load test, and any other e2e that creates non-trivial number of resources. |
We no longer run those tests as part of regular gce e2e test - see #9858 |
See #3954 (comment)
We don't really have many of those in wide use today. Most e2es start 1,2 pods and don't care about latency, so the suite (on the whole) prioritizes throughput. Load tests like density are a special case because even their cleanup can disrupt the next run. But I agree we have a more general test cleanup problem :( |
The events deletion at least is handled by #10175. |
Yup. I believe we can close this bug. |
Hmm, there's still the problem of cleaning up containers on the kubelet (delete just removes keys from etcd currently) |
/cc @rrati |
@bprashanth details? |
kubectl delete pods doesn't wait till the kubelet has deleted containers on the node |
Ohh yeah, that's been that way forever, it's non-blocking. It was my understanding that it was unlikely to change. |
@quinton-hoole @wojtek-t is this still a thing? |
Currently it's hacked - to provide a clear and fast solution we need to be able to quickly remove the whole namespace and to do it we need to be able to remove a collection of objects in a single step. |
In cases where one wants to run multiple iterations of density back to back, we really need to make sure a pervious iteration's load doesn't leak into this one. 2 main culprits are:
This is obviously not a problem if we tear down the entire cluser between iterations.
@gmarek
The text was updated successfully, but these errors were encountered: