Skip to content

Commit 9263dd1

Browse files
committed
Added a buffer period in the node performance tests
The node-kubelet-flaky e2e job that runs the the `Node Performance Testing [Serial] [Slow] [Flaky]` e2e tests have been flaking because of inconsistencies on the cpu manager checkpoint file. This seems to be caused because the checkpoint file is deleted (which is what needs to happen in order to change the CPU manager policy which is used for these e2e tests) right after the e2e tests asserts that a pod does not exist anymore. However, after a pod is deleted, the CPU manager may still be cleaning up the resources used by the pod which may result in the checkpoint file being created. Whenever this happened, the kubelet would panic if we then try to subsequently change the CPU manager policy to "static" from "none" or vice versa (this is done 4 times in these tests). Signed-off-by: alejandrox1 <[email protected]>
1 parent 868efab commit 9263dd1

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

test/e2e_node/node_perf_test.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,15 @@ var _ = SIGDescribe("Node Performance Testing [Serial] [Slow] [Flaky]", func() {
8181
GracePeriodSeconds: &gp,
8282
}
8383
f.PodClient().DeleteSync(pod.Name, delOpts, framework.DefaultPodDeletionTimeout)
84+
85+
// We are going to give some more time for the CPU manager to do any clean
86+
// up it needs to do now that the pod has been deleted. Otherwise we may
87+
// run into a data race condition in which the PostTestExec function
88+
// deletes the CPU manager's checkpoint file while the CPU manager is still
89+
// doing work and we end with a new checkpoint file after PosttestExec has
90+
// finished. This issues would result in the kubelet panicking after we try
91+
// and set the kubelet config.
92+
time.Sleep(15 * time.Second)
8493
ginkgo.By("running the post test exec from the workload")
8594
err := wl.PostTestExec()
8695
framework.ExpectNoError(err)

0 commit comments

Comments
 (0)