-
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
Wait to add aliases to /etc/hosts before starting kubelet #8035
Conversation
This should resolve a race condition in which the expected node IP and the ip passed into kubelet are different. This should fix the embed-certs integration test which has been flaky for a while.
/ok-to-test |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: priyawadhwa 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 |
kvm2 Driver |
minikube start
minikube start
kvm2 Driver Times for Minikube (PR 8035): [60.127947904 63.15791365100001 63.32869082100001] Averages Time Per Log
docker Driver Times for Minikube (PR 8035): [26.975172612999998 25.718133115 28.078879105] Averages Time Per Log
|
kvm2 Driver Times for Minikube (PR 8035): [63.581135766 64.297740915 64.432486893] Averages Time Per Log
docker Driver Times for Minikube (PR 8035): [27.951298372 27.972385985999995 26.881018652] Averages Time Per Log
|
Codecov Report
@@ Coverage Diff @@
## master #8035 +/- ##
=======================================
Coverage 35.76% 35.77%
=======================================
Files 143 143
Lines 9191 9189 -2
=======================================
Hits 3287 3287
+ Misses 5504 5502 -2
Partials 400 400
|
kvm2 Driver Times for Minikube (PR 8035): [64.03327127200001 61.350225456 67.491866983] Averages Time Per Log
docker Driver Times for Minikube (PR 8035): [25.605743837999995 27.163882138999995 27.947702657999997] Averages Time Per Log
|
This makes sure the kubelet picks up the correct IP
This way, we won't ever enable kubelet to start when systemd starts, preventing a race condition with `/etc/hosts`
minikube start
kvm2 Driver Times for Minikube (PR 8035): [64.818884178 66.516283314 67.385410189] Averages Time Per Log
docker Driver Times for Minikube (PR 8035): [27.477851559999998 26.547291469 26.737603462] Averages Time Per Log
|
kvm2 Driver Times for Minikube (PR 8035): [65.58202054600001 68.063104392 65.66923154100002] Averages Time Per Log
docker Driver Times for Minikube (PR 8035): [26.515539694 25.767209800999996 26.340992532] Averages Time Per Log
|
kvm2 Driver Times for Minikube (PR 8035): [64.358291771 65.372599793 63.296837099] Averages Time Per Log
docker Driver Times for Minikube (PR 8035): [26.806351751 25.927312156000003 28.001350385000002] Averages Time Per Log
|
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 fixing this mysterious bug. great work.
kubelet manages the value of
/etc/hosts
within running containers (e.g. kube-controller-manager). It takes this file from the host, but this causes a race condition between:This change removes automatically starting kubelet when systemd comes up. Instead, we start it immediately after making our updates to
/etc/hosts
This should fix the embed-certs integration test which has been flaky for a while.
Fixes #7921