-
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
--downlaod-only: handle multiple minikube start at same time. #11223
Conversation
Hi @andriyDev. Thanks for your PR. I'm waiting for a kubernetes member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: andriyDev The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Can one of the admins verify this patch? |
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.
thank you for this PR, do u mind adding the full output of multiple minikube start --download-only before'after this PR to compare?
Fixed, I originally thought there wasn't a good way to show it since one of them just blocks, but I realized you can just tell from the lack of duplication. Also note there is no message for when it blocks. The lock does not provide the ability to check if the lock is held, only attempt to acquire it. A potential workaround was to print a message before hand and then erase it afterwards, but this results in some nonsense where multiple things try to download at once causing multiple lock messages to show up, and then it is unable to erase them. Or a progress bar will be rendered and the lock message permanently shows up to the right of the progress bar. Regardless, ugly UI stuff is not ideal. |
is there a way to have a Spinner in the UI that tells users waiting on the other terminal to finish ? |
Oh I just realized how to do this! The mutex API has no way to check whether the lock is present, but we can run the lock in a goroutine and then select between it and a timer and once the timer expires print the wait message and continue waiting. I need to practice thinking with Go haha. |
Rebased onto master. |
Rebased onto master x2. |
…ownload_test to prevent using logging.
…ed to be released.
Rebased onto master x5. @medyagh |
/ok-to-test |
@andriyDev: The following test failed, say
Full PR test history. Your PR dashboard. Please help us cut down on flakes by linking to an open issue when you hit one in your PR. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here. |
kvm2 driver with docker runtime
Times for minikube start: 51.8s 51.4s 50.0s 51.2s 52.9s Times for minikube ingress: 76.8s 34.3s 36.3s 33.4s 36.7s docker driver with docker runtime
Times for minikube start: 22.2s 21.5s 22.2s 22.4s 21.6s Times for minikube (PR 11223) ingress: 42.5s 38.6s 31.0s 47.0s 31.5s docker driver with containerd runtime
Times for minikube start: 43.7s 43.5s 43.2s 43.1s 43.4s |
fixes #11166.
This prevents multiple
minikube start --download-only
from repeatedly downloading the same files (and more importantly preventing each other from corrupting downloaded files).Running
minikube start --download-only
two times at the same time: