diff --git a/test/e2e_node/node_perf_test.go b/test/e2e_node/node_perf_test.go index e0b2089e795..81e38a44250 100644 --- a/test/e2e_node/node_perf_test.go +++ b/test/e2e_node/node_perf_test.go @@ -81,6 +81,15 @@ var _ = SIGDescribe("Node Performance Testing [Serial] [Slow] [Flaky]", func() { GracePeriodSeconds: &gp, } f.PodClient().DeleteSync(pod.Name, delOpts, framework.DefaultPodDeletionTimeout) + + // We are going to give some more time for the CPU manager to do any clean + // up it needs to do now that the pod has been deleted. Otherwise we may + // run into a data race condition in which the PostTestExec function + // deletes the CPU manager's checkpoint file while the CPU manager is still + // doing work and we end with a new checkpoint file after PosttestExec has + // finished. This issues would result in the kubelet panicking after we try + // and set the kubelet config. + time.Sleep(15 * time.Second) ginkgo.By("running the post test exec from the workload") err := wl.PostTestExec() framework.ExpectNoError(err)