summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com>2022-06-02 21:28:26 -0400
committerGitHub <noreply@github.com>2022-06-02 21:28:26 -0400
commit6edbf3baaa10ff3738519417fbb1b2f9885e8adb (patch)
tree22a242354a2889b3b6c0134b537303492d6ad3df
parent232f2c9eb82d9971d9993af9c3a83849a57722f8 (diff)
parent831d6534fb7b04e092710dfa5d233fe5cb9db9f8 (diff)
downloadpodman-6edbf3baaa10ff3738519417fbb1b2f9885e8adb.tar.gz
podman-6edbf3baaa10ff3738519417fbb1b2f9885e8adb.tar.bz2
podman-6edbf3baaa10ff3738519417fbb1b2f9885e8adb.zip
Merge pull request #14461 from cdoern/infra
fix pod network handling with a host network
-rw-r--r--pkg/specgen/generate/namespaces.go3
-rw-r--r--test/e2e/pod_infra_container_test.go13
2 files changed, 16 insertions, 0 deletions
diff --git a/pkg/specgen/generate/namespaces.go b/pkg/specgen/generate/namespaces.go
index 4dd6b3eaf..4735111c8 100644
--- a/pkg/specgen/generate/namespaces.go
+++ b/pkg/specgen/generate/namespaces.go
@@ -42,6 +42,9 @@ func GetDefaultNamespaceMode(nsType string, cfg *config.Config, pod *libpod.Pod)
podMode = true
case nsType == "net" && pod.SharesNet():
podMode = true
+ case nsType == "net" && pod.NetworkMode() == "host":
+ toReturn.NSMode = specgen.Host
+ return toReturn, nil
case nsType == "cgroup" && pod.SharesCgroup():
podMode = true
}
diff --git a/test/e2e/pod_infra_container_test.go b/test/e2e/pod_infra_container_test.go
index ab204992c..ad2db2411 100644
--- a/test/e2e/pod_infra_container_test.go
+++ b/test/e2e/pod_infra_container_test.go
@@ -125,6 +125,19 @@ var _ = Describe("Podman pod create", func() {
session = podmanTest.Podman([]string{"run", fedoraMinimal, "curl", "-f", "localhost"})
session.WaitWithDefaultTimeout()
Expect(session).To(ExitWithError())
+
+ session = podmanTest.Podman([]string{"pod", "create", "--network", "host"})
+ session.WaitWithDefaultTimeout()
+ Expect(session).Should(Exit(0))
+
+ session = podmanTest.Podman([]string{"run", "-dt", "--pod", session.OutputToString(), ALPINE})
+ session.WaitWithDefaultTimeout()
+ Expect(session).Should(Exit(0))
+
+ session = podmanTest.Podman([]string{"inspect", "--format", "'{{.NetworkSettings.SandboxKey}}'", session.OutputToString()})
+ session.WaitWithDefaultTimeout()
+ Expect(session).Should(Exit(0))
+ Expect(session.OutputToString()).Should(ContainSubstring("''")) // no network path... host
})
It("podman pod correctly sets up IPCNS", func() {