summaryrefslogtreecommitdiff
path: root/pkg/bindings/test
diff options
context:
space:
mode:
authorMatthew Heon <mheon@redhat.com>2020-08-10 15:00:42 -0400
committerMatthew Heon <mheon@redhat.com>2020-08-24 11:31:37 -0400
commit484bd0af1dc90848be4bb4d729d5913b65fa7bc6 (patch)
tree7ebe302d70797e97f78d63de2769cfb3bd4f17a0 /pkg/bindings/test
parent23251149aba5965e06bc35ddbd15717b2bb7b43b (diff)
downloadpodman-484bd0af1dc90848be4bb4d729d5913b65fa7bc6.tar.gz
podman-484bd0af1dc90848be4bb4d729d5913b65fa7bc6.tar.bz2
podman-484bd0af1dc90848be4bb4d729d5913b65fa7bc6.zip
Ensure pod infra containers have an exit command
Most Libpod containers are made via `pkg/specgen/generate` which includes code to generate an appropriate exit command which will handle unmounting the container's storage, cleaning up the container's network, etc. There is one notable exception: pod infra containers, which are made entirely within Libpod and do not touch pkg/specgen. As such, no cleanup process, network never cleaned up, bad things can happen. There is good news, though - it's not that difficult to add this, and it's done in this PR. Generally speaking, we don't allow passing options directly to the infra container at create time, but we do (optionally) proxy a pre-approved set of options into it when we create it. Add ExitCommand to these options, and set it at time of pod creation using the same code we use to generate exit commands for normal containers. Fixes #7103 Signed-off-by: Matthew Heon <mheon@redhat.com> <MH: Fixed cherry-pick conflicts> Signed-off-by: Matthew Heon <mheon@redhat.com>
Diffstat (limited to 'pkg/bindings/test')
-rw-r--r--pkg/bindings/test/pods_test.go6
1 files changed, 3 insertions, 3 deletions
diff --git a/pkg/bindings/test/pods_test.go b/pkg/bindings/test/pods_test.go
index 2ad6f38c1..65336f1f1 100644
--- a/pkg/bindings/test/pods_test.go
+++ b/pkg/bindings/test/pods_test.go
@@ -244,7 +244,7 @@ var _ = Describe("Podman pods", func() {
Expect(response.State).To(Equal(define.PodStateExited))
for _, i := range response.Containers {
Expect(define.StringToContainerStatus(i.State)).
- To(Equal(define.ContainerStateStopped))
+ To(Equal(define.ContainerStateExited))
}
// Stop an already stopped pod
@@ -309,7 +309,7 @@ var _ = Describe("Podman pods", func() {
Expect(response.State).To(Equal(define.PodStateExited))
for _, i := range response.Containers {
Expect(define.StringToContainerStatus(i.State)).
- To(Equal(define.ContainerStateStopped))
+ To(Equal(define.ContainerStateExited))
}
_, err = pods.Stop(bt.conn, newpod2, nil)
Expect(err).To(BeNil())
@@ -318,7 +318,7 @@ var _ = Describe("Podman pods", func() {
Expect(response.State).To(Equal(define.PodStateExited))
for _, i := range response.Containers {
Expect(define.StringToContainerStatus(i.State)).
- To(Equal(define.ContainerStateStopped))
+ To(Equal(define.ContainerStateExited))
}
_, err = pods.Prune(bt.conn)
Expect(err).To(BeNil())