summaryrefslogtreecommitdiff
path: root/test/e2e/run_networking_test.go
diff options
context:
space:
mode:
authorDaniel J Walsh <dwalsh@redhat.com>2020-11-15 08:41:06 -0500
committerDaniel J Walsh <dwalsh@redhat.com>2020-11-16 16:40:50 -0500
commit4ca4234af1aa02c80bf44fe8cca6b5a4e62be2c6 (patch)
treefb1c4fc303f2b86c5d5e3f6e2f252eb0ee0c5467 /test/e2e/run_networking_test.go
parente59394973a7559feb42b89ea882f2ce52d0432b8 (diff)
downloadpodman-4ca4234af1aa02c80bf44fe8cca6b5a4e62be2c6.tar.gz
podman-4ca4234af1aa02c80bf44fe8cca6b5a4e62be2c6.tar.bz2
podman-4ca4234af1aa02c80bf44fe8cca6b5a4e62be2c6.zip
Make sure /etc/hosts populated correctly with networks
The --hostname and containername should always be added to containers. Added some tests to make sure you can always ping the hostname and container name from within the container. Fixes: https://github.com/containers/podman/issues/8095 Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
Diffstat (limited to 'test/e2e/run_networking_test.go')
-rw-r--r--test/e2e/run_networking_test.go41
1 files changed, 38 insertions, 3 deletions
diff --git a/test/e2e/run_networking_test.go b/test/e2e/run_networking_test.go
index e9c1bab21..3e80e953e 100644
--- a/test/e2e/run_networking_test.go
+++ b/test/e2e/run_networking_test.go
@@ -551,6 +551,10 @@ var _ = Describe("Podman run networking", func() {
run.WaitWithDefaultTimeout()
Expect(run.ExitCode()).To(BeZero())
Expect(run.OutputToString()).To(ContainSubstring(ipAddr))
+
+ create = podmanTest.Podman([]string{"network", "rm", netName})
+ create.WaitWithDefaultTimeout()
+ Expect(create.ExitCode()).To(BeZero())
})
It("podman run with new:pod and static-ip", func() {
@@ -588,7 +592,7 @@ var _ = Describe("Podman run networking", func() {
Expect(strings.Contains(run.OutputToString(), hostname)).To(BeTrue())
})
- It("podman run with --net=none adds hostname to /etc/hosts", func() {
+ It("podman run with --net=none sets hostname", func() {
hostname := "testctr"
run := podmanTest.Podman([]string{"run", "--net=none", "--hostname", hostname, ALPINE, "hostname"})
run.WaitWithDefaultTimeout()
@@ -596,6 +600,37 @@ var _ = Describe("Podman run networking", func() {
Expect(strings.Contains(run.OutputToString(), hostname)).To(BeTrue())
})
+ It("podman run with --net=none adds hostname to /etc/hosts", func() {
+ hostname := "testctr"
+ run := podmanTest.Podman([]string{"run", "--net=none", "--hostname", hostname, ALPINE, "cat", "/etc/hosts"})
+ run.WaitWithDefaultTimeout()
+ Expect(run.ExitCode()).To(BeZero())
+ Expect(strings.Contains(run.OutputToString(), hostname)).To(BeTrue())
+ })
+
+ ping_test := func(netns string) {
+ hostname := "testctr"
+ run := podmanTest.Podman([]string{"run", netns, "--hostname", hostname, ALPINE, "ping", "-c", "1", hostname})
+ run.WaitWithDefaultTimeout()
+ Expect(run.ExitCode()).To(BeZero())
+
+ run = podmanTest.Podman([]string{"run", netns, "--hostname", hostname, "--name", "test", ALPINE, "ping", "-c", "1", "test"})
+ run.WaitWithDefaultTimeout()
+ Expect(run.ExitCode()).To(BeZero())
+ }
+
+ It("podman attempt to ping container name and hostname --net=none", func() {
+ ping_test("--net=none")
+ })
+
+ It("podman attempt to ping container name and hostname --net=host", func() {
+ ping_test("--net=host")
+ })
+
+ It("podman attempt to ping container name and hostname --net=private", func() {
+ ping_test("--net=private")
+ })
+
It("podman run check dnsname plugin", func() {
pod := "testpod"
session := podmanTest.Podman([]string{"pod", "create", "--name", pod})
@@ -621,10 +656,10 @@ var _ = Describe("Podman run networking", func() {
session.WaitWithDefaultTimeout()
Expect(session.ExitCode()).To(BeZero())
- session = podmanTest.Podman([]string{"run", "--name", "con3", "--pod", pod2, ALPINE, "nslookup", "con3"})
+ session = podmanTest.Podman([]string{"run", "--name", "con3", "--pod", pod2, ALPINE, "nslookup", "con1"})
session.WaitWithDefaultTimeout()
Expect(session.ExitCode()).To(Equal(1))
- Expect(session.ErrorToString()).To(ContainSubstring("can't resolve 'con3'"))
+ Expect(session.ErrorToString()).To(ContainSubstring("can't resolve 'con1'"))
session = podmanTest.Podman([]string{"run", "--name", "con4", "--network", net, ALPINE, "nslookup", pod2})
session.WaitWithDefaultTimeout()