mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-24 04:06:03 +00:00
kubectl run test wait until pod terminates
the test "executing a command with run and attach without stdin" is inherently flaky, there are several discussion but seems that it requires changing the way the kubectl run and attach works. The test fails if we are not able to attach before the container prints "stdin closed", but hasn't exited yet. Because the race seems difficult to solve, we can wait 5 seconds before printing to give time to kubectl to attach to the container.
This commit is contained in:
parent
2b00dd8536
commit
a0f0e58373
@ -561,7 +561,12 @@ var _ = SIGDescribe("Kubectl client", func() {
|
||||
gomega.Expect(c.CoreV1().Pods(ns).Delete(context.TODO(), "run-test", metav1.DeleteOptions{})).To(gomega.BeNil())
|
||||
|
||||
ginkgo.By("executing a command with run and attach without stdin")
|
||||
runOutput = framework.NewKubectlCommand(ns, fmt.Sprintf("--namespace=%v", ns), "run", "run-test-2", "--image="+busyboxImage, "--restart=OnFailure", "--attach=true", "--leave-stdin-open=true", "--", "sh", "-c", "cat && echo 'stdin closed'").
|
||||
// There is a race on this scenario described in #73099
|
||||
// It fails if we are not able to attach before the container prints
|
||||
// "stdin closed", but hasn't exited yet.
|
||||
// We wait 5 seconds before printing to give time to kubectl to attach
|
||||
// to the container, this does not solve the race though.
|
||||
runOutput = framework.NewKubectlCommand(ns, fmt.Sprintf("--namespace=%v", ns), "run", "run-test-2", "--image="+busyboxImage, "--restart=OnFailure", "--attach=true", "--leave-stdin-open=true", "--", "sh", "-c", "sleep 5; cat && echo 'stdin closed'").
|
||||
WithStdinData("abcd1234").
|
||||
ExecOrDie(ns)
|
||||
gomega.Expect(runOutput).ToNot(gomega.ContainSubstring("abcd1234"))
|
||||
|
Loading…
Reference in New Issue
Block a user