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)