e2e node: stop kubelet service instead of restarting it

The server service monitors the kubelet service and restart it
once the service is down, to avoid kubelet double restarting
we will stop the kubelet service and wait until the kubelet will be
restarted and the node will be ready.

Signed-off-by: Artyom Lukianov <alukiano@redhat.com>
This commit is contained in:
Artyom Lukianov 2021-03-01 14:15:37 +02:00
parent f79795d718
commit a6b4868b8d
2 changed files with 11 additions and 3 deletions

View File

@ -337,7 +337,8 @@ var _ = SIGDescribe("HugePages [Serial] [Feature:HugePages][NodeSpecialFeature:H
setHugepages() setHugepages()
ginkgo.By("restarting kubelet to pick up pre-allocated hugepages") ginkgo.By("restarting kubelet to pick up pre-allocated hugepages")
restartKubelet() // stop the kubelet and wait until the server will restart it automatically
stopKubelet()
waitForHugepages() waitForHugepages()
@ -352,7 +353,8 @@ var _ = SIGDescribe("HugePages [Serial] [Feature:HugePages][NodeSpecialFeature:H
releaseHugepages() releaseHugepages()
ginkgo.By("restarting kubelet to pick up pre-allocated hugepages") ginkgo.By("restarting kubelet to pick up pre-allocated hugepages")
restartKubelet() // stop the kubelet and wait until the server will restart it automatically
stopKubelet()
waitForHugepages() waitForHugepages()
}) })

View File

@ -418,8 +418,14 @@ func restartKubelet() {
// stopKubelet will kill the running kubelet, and returns a func that will restart the process again // stopKubelet will kill the running kubelet, and returns a func that will restart the process again
func stopKubelet() func() { func stopKubelet() func() {
kubeletServiceName := findRunningKubletServiceName() kubeletServiceName := findRunningKubletServiceName()
stdout, err := exec.Command("sudo", "systemctl", "kill", kubeletServiceName).CombinedOutput()
// reset the kubelet service start-limit-hit
stdout, err := exec.Command("sudo", "systemctl", "reset-failed", kubeletServiceName).CombinedOutput()
framework.ExpectNoError(err, "Failed to reset kubelet start-limit-hit with systemctl: %v, %v", err, stdout)
stdout, err = exec.Command("sudo", "systemctl", "kill", kubeletServiceName).CombinedOutput()
framework.ExpectNoError(err, "Failed to stop kubelet with systemctl: %v, %v", err, stdout) framework.ExpectNoError(err, "Failed to stop kubelet with systemctl: %v, %v", err, stdout)
return func() { return func() {
stdout, err := exec.Command("sudo", "systemctl", "start", kubeletServiceName).CombinedOutput() stdout, err := exec.Command("sudo", "systemctl", "start", kubeletServiceName).CombinedOutput()
framework.ExpectNoError(err, "Failed to restart kubelet with systemctl: %v, %v", err, stdout) framework.ExpectNoError(err, "Failed to restart kubelet with systemctl: %v, %v", err, stdout)