-
Notifications
You must be signed in to change notification settings - Fork 4.9k
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
Make --wait=false non-blocking, --wait=true blocks on system pods #5894
Conversation
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: tstromberg The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
/ok-to-test |
All Times minikube: [ 176.582281 180.449595 187.314829] Average minikube: 181.448902 Averages Time Per Log
|
Codecov Report
@@ Coverage Diff @@
## master #5894 +/- ##
==========================================
- Coverage 36.44% 36.31% -0.14%
==========================================
Files 110 110
Lines 8161 8160 -1
==========================================
- Hits 2974 2963 -11
- Misses 4796 4806 +10
Partials 391 391
|
So there's a missing time in the table for Nice speedup! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. Had one question.
All Times minikube: [ 177.172030 191.691567 181.014751] Average minikube: 183.292783 Averages Time Per Log
|
All Times minikube: [ 179.847896 183.698483 196.145768] Average minikube: 186.564049 Averages Time Per Log
|
All Times minikube: [ 173.835848 176.293193 181.162661] Average Minikube (PR 5894): 127.103704 Averages Time Per Log
|
All Times minikube: [ 189.252996 170.981930 194.983028] Average minikube: 185.072651 Averages Time Per Log
|
All Times minikube: [ 178.978900 181.260265 178.118128] Average minikube: 179.452431 Averages Time Per Log
|
So, it turns out that a late comment I made in #5757 had an impactful performance regression:
It turns out that waiting for pod lists to return data is effectively the same as waiting for etcd to come up. This PR changes
--wait=false
to it's original behavior (no wait!), but keeps the default behavior of waiting for the apiserver to return results.To simplify the code path down to 2 behaviors, we no longer have specific waits for each pod, but instead use the current behavior of waiting for the apiserver pod results as a proxy for health.
--wait=false behavior at master:
time ./out/minikube start --wait=false && kubectl get po -A
Took 154 seconds, but returned all of the expected data (note the etcd state):
Duration:
--wait=false behavior with this PR:
time ./out/minikube start --wait=false && kubectl get po -A
Took 81 seconds, but everything is pending, and apiserver does not yet appear in pod results:
--wait=true behavior with this PR:
time ./out/minikube start --wait=true && kubectl get po -A
Took 82 seconds, but apiserver does not yet appear in pod results: