mirror of https://github.com/containers/podman.git
fix pod network handling with a host network
the function `GetDefaultNamespaceMode` for pods checks if we are sharing each namespace and if not, returns the default which in the case of a network is slirp. add a switch case for explicitly checking if the pod's network mode is host and if so, return specgen.Host for the container resolves #13763 Signed-off-by: cdoern <cbdoer23@g.holycross.edu> Signed-off-by: cdoern <cdoern@redhat.com>
This commit is contained in:
parent
be527a358a
commit
831d6534fb
|
@ -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
|
||||
}
|
||||
|
|
|
@ -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() {
|
||||
|
|
Loading…
Reference in New Issue