From a6b4868b8d79882cc65f94fcb7355d25076d3c09 Mon Sep 17 00:00:00 2001 From: Artyom Lukianov Date: Mon, 1 Mar 2021 14:15:37 +0200 Subject: [PATCH] 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 --- test/e2e_node/hugepages_test.go | 6 ++++-- test/e2e_node/util.go | 8 +++++++- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/test/e2e_node/hugepages_test.go b/test/e2e_node/hugepages_test.go index da6c2b1e2c4..80e901f655a 100644 --- a/test/e2e_node/hugepages_test.go +++ b/test/e2e_node/hugepages_test.go @@ -337,7 +337,8 @@ var _ = SIGDescribe("HugePages [Serial] [Feature:HugePages][NodeSpecialFeature:H setHugepages() 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() @@ -352,7 +353,8 @@ var _ = SIGDescribe("HugePages [Serial] [Feature:HugePages][NodeSpecialFeature:H releaseHugepages() 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() }) diff --git a/test/e2e_node/util.go b/test/e2e_node/util.go index fd6273eac55..6d06019e825 100644 --- a/test/e2e_node/util.go +++ b/test/e2e_node/util.go @@ -418,8 +418,14 @@ func restartKubelet() { // stopKubelet will kill the running kubelet, and returns a func that will restart the process again func stopKubelet() func() { 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) + return func() { stdout, err := exec.Command("sudo", "systemctl", "start", kubeletServiceName).CombinedOutput() framework.ExpectNoError(err, "Failed to restart kubelet with systemctl: %v, %v", err, stdout)