summaryrefslogtreecommitdiff
path: root/test/e2e
diff options
context:
space:
mode:
authorMatthew Heon <matthew.heon@pm.me>2020-10-20 14:32:33 -0400
committerMatthew Heon <matthew.heon@pm.me>2020-10-21 13:31:40 -0400
commitcddfe3983be63ee5193a19fb6669600f059a839f (patch)
tree92a74d3f25a7a2548d4cff9cb5986b424d38be5c /test/e2e
parent36682115b0f3f5f7cfcc6bc4580e5a7435b9a4d8 (diff)
downloadpodman-cddfe3983be63ee5193a19fb6669600f059a839f.tar.gz
podman-cddfe3983be63ee5193a19fb6669600f059a839f.tar.bz2
podman-cddfe3983be63ee5193a19fb6669600f059a839f.zip
Add a Degraded state to pods
Make a distinction between pods that are completely running (all containers running) and those that have some containers going, but not all, by introducing an intermediate state between Stopped and Running called Degraded. A Degraded pod has at least one, but not all, containers running; a Running pod has all containers running. First step to a solution for #7213. Signed-off-by: Matthew Heon <matthew.heon@pm.me>
Diffstat (limited to 'test/e2e')
-rw-r--r--test/e2e/pod_create_test.go30
1 files changed, 30 insertions, 0 deletions
diff --git a/test/e2e/pod_create_test.go b/test/e2e/pod_create_test.go
index f69b6ca7b..05e9b4e20 100644
--- a/test/e2e/pod_create_test.go
+++ b/test/e2e/pod_create_test.go
@@ -428,4 +428,34 @@ entrypoint ["/fromimage"]
Expect(check.ExitCode()).To(Equal(0))
Expect(check.OutputToString()).To(Equal("[port_handler=slirp4netns]"))
})
+
+ It("podman pod status test", func() {
+ podName := "testpod"
+ create := podmanTest.Podman([]string{"pod", "create", "--name", podName})
+ create.WaitWithDefaultTimeout()
+ Expect(create.ExitCode()).To(Equal(0))
+
+ status1 := podmanTest.Podman([]string{"pod", "inspect", "--format", "{{ .State }}", podName})
+ status1.WaitWithDefaultTimeout()
+ Expect(status1.ExitCode()).To(Equal(0))
+ Expect(strings.Contains(status1.OutputToString(), "Created")).To(BeTrue())
+
+ ctr1 := podmanTest.Podman([]string{"run", "--pod", podName, "-d", ALPINE, "top"})
+ ctr1.WaitWithDefaultTimeout()
+ Expect(ctr1.ExitCode()).To(Equal(0))
+
+ status2 := podmanTest.Podman([]string{"pod", "inspect", "--format", "{{ .State }}", podName})
+ status2.WaitWithDefaultTimeout()
+ Expect(status2.ExitCode()).To(Equal(0))
+ Expect(strings.Contains(status2.OutputToString(), "Running")).To(BeTrue())
+
+ ctr2 := podmanTest.Podman([]string{"create", "--pod", podName, ALPINE, "top"})
+ ctr2.WaitWithDefaultTimeout()
+ Expect(ctr2.ExitCode()).To(Equal(0))
+
+ status3 := podmanTest.Podman([]string{"pod", "inspect", "--format", "{{ .State }}", podName})
+ status3.WaitWithDefaultTimeout()
+ Expect(status3.ExitCode()).To(Equal(0))
+ Expect(strings.Contains(status3.OutputToString(), "Degraded")).To(BeTrue())
+ })
})