From c1b844ecc8620f446e95253e9a5124a628576e57 Mon Sep 17 00:00:00 2001
From: Matthew Heon <mheon@redhat.com>
Date: Tue, 20 Oct 2020 12:01:53 -0400
Subject: Retrieve network inspect info from dependency container

When a container either joins a pod that shares the network
namespace or uses `--net=container:` to share the network
namespace of another container, it does not have its own copy of
the CNI results used to generate `podman inspect` output. As
such, to inspect these containers, we should be going to the
container we share the namespace with for network info.

Fixes #8073

Signed-off-by: Matthew Heon <mheon@redhat.com>
---
 test/e2e/pod_create_test.go | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

(limited to 'test/e2e')

diff --git a/test/e2e/pod_create_test.go b/test/e2e/pod_create_test.go
index f69b6ca7b..83a66d2b9 100644
--- a/test/e2e/pod_create_test.go
+++ b/test/e2e/pod_create_test.go
@@ -245,6 +245,24 @@ var _ = Describe("Podman pod create", func() {
 		}
 	})
 
+	It("podman container in pod with IP address shares IP address", func() {
+		SkipIfRootless("Rootless does not support --ip")
+		podName := "test"
+		ctrName := "testCtr"
+		ip := GetRandomIPAddress()
+		podCreate := podmanTest.Podman([]string{"pod", "create", "--ip", ip, "--name", podName})
+		podCreate.WaitWithDefaultTimeout()
+		Expect(podCreate.ExitCode()).To(Equal(0))
+		podCtr := podmanTest.Podman([]string{"run", "--name", ctrName, "--pod", podName, "-d", "-t", ALPINE, "top"})
+		podCtr.WaitWithDefaultTimeout()
+		Expect(podCtr.ExitCode()).To(Equal(0))
+		ctrInspect := podmanTest.Podman([]string{"inspect", ctrName})
+		ctrInspect.WaitWithDefaultTimeout()
+		Expect(ctrInspect.ExitCode()).To(Equal(0))
+		ctrJSON := ctrInspect.InspectContainerToJSON()
+		Expect(ctrJSON[0].NetworkSettings.IPAddress).To(Equal(ip))
+	})
+
 	It("podman create pod with IP address and no infra should fail", func() {
 		name := "test"
 		ip := GetRandomIPAddress()
-- 
cgit v1.2.3-54-g00ecf