test: Properly detect container runtime flake in e2e test

The condition was not part of the message and so would not
match:

OCI runtime create failed: container_linux.go:349: starting container process caused "process_linux.go:449: container init caused \"rootfs_linux.go:58: mounting \\\"/var/lib/kubelet/pods/128aea1f-bde3-43d5-8b5f-dd86b9a5ef33/volumes/kubernetes.io~secret/default-token-v55hm\\\" to rootfs \\\"/var/lib/docker/overlay2/813487ba91d534ded546ae34f2a05e7d94c26bd015d356f9b2641522d8f0d6da/merged\\\" at \\\"/var/run/secrets/kubernetes.io/serviceaccount\\\" caused \\\"stat /var/lib/kubelet/pods/128aea1f-bde3-43d5-8b5f-dd86b9a5ef33/volumes/kubernetes.io~secret/default-token-v55hm: no such file or directory\\\"\"": unknown

Updated the check and regex.
This commit is contained in:
Clayton Coleman 2020-03-05 14:19:22 -05:00
parent 0ad60b35c1
commit 8c35e32a40
No known key found for this signature in database
GPG Key ID: 3D16906B4F1C5CB3

View File

@ -213,7 +213,7 @@ var _ = SIGDescribe("Pods Extended", func() {
ginkgo.It("should never report success for a pending container", func() {
ginkgo.By("creating pods that should always exit 1 and terminating the pod after a random delay")
var reBug88766 = regexp.MustCompile(`ContainerCannotRun.*rootfs_linux\.go.*kubernetes\.io~secret.*no such file or directory`)
var reBug88766 = regexp.MustCompile(`rootfs_linux.*kubernetes\.io~secret.*no such file or directory`)
var (
lock sync.Mutex
@ -350,7 +350,7 @@ var _ = SIGDescribe("Pods Extended", func() {
switch {
case t.ExitCode == 1:
// expected
case t.ExitCode == 128 && reBug88766.MatchString(t.Message):
case t.ExitCode == 128 && t.Reason == "ContainerCannotRun" && reBug88766.MatchString(t.Message):
// pod volume teardown races with container start in CRI, which reports a failure
framework.Logf("pod %s on node %s failed with the symptoms of https://github.com/kubernetes/kubernetes/issues/88766")
default: