From cf42bdcb41f34b5cdfc15e865089ec1e88681e25 Mon Sep 17 00:00:00 2001 From: Valentin Rothberg Date: Mon, 15 Feb 2021 15:07:25 +0100 Subject: e2e: fix network alias test The logic in the e2e test for multiple network aliases is indicating the test should wait for the containerized nginx to be ready. As this may take some time, the test does an exponential backoff starting at 2050ms. Fix the logic by removing the `Expect(...)` call during the exponential backoff. Otherwise, the test errors immediately. Signed-off-by: Valentin Rothberg --- test/e2e/network_test.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'test/e2e/network_test.go') diff --git a/test/e2e/network_test.go b/test/e2e/network_test.go index df8ff0684..d191cb6bb 100644 --- a/test/e2e/network_test.go +++ b/test/e2e/network_test.go @@ -407,6 +407,7 @@ var _ = Describe("Podman network", func() { Expect(lines[0]).To(Equal(netName1)) Expect(lines[1]).To(Equal(netName2)) }) + It("podman network with multiple aliases", func() { var worked bool netName := "aliasTest" + stringid.GenerateNonCryptoID() @@ -424,7 +425,7 @@ var _ = Describe("Podman network", func() { // Test curl against the container's name c1 := podmanTest.Podman([]string{"run", "--network=" + netName, nginx, "curl", "web"}) c1.WaitWithDefaultTimeout() - worked = Expect(c1.ExitCode()).To(BeZero()) + worked = c1.ExitCode() == 0 if worked { break } -- cgit v1.2.3-54-g00ecf From 94ff3b583e6774f115e811d10ca75245e9957f4e Mon Sep 17 00:00:00 2001 From: baude Date: Mon, 15 Feb 2021 12:31:09 -0600 Subject: fix dns resolution on ubuntu ubuntu's dns seems a little odd and requires a fq name in its tests. Signed-off-by: baude --- test/e2e/network_test.go | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) (limited to 'test/e2e/network_test.go') diff --git a/test/e2e/network_test.go b/test/e2e/network_test.go index d191cb6bb..b1cabdbf8 100644 --- a/test/e2e/network_test.go +++ b/test/e2e/network_test.go @@ -416,14 +416,26 @@ var _ = Describe("Podman network", func() { defer podmanTest.removeCNINetwork(netName) Expect(session.ExitCode()).To(BeZero()) + interval := time.Duration(250 * time.Millisecond) + for i := 0; i < 6; i++ { + n := podmanTest.Podman([]string{"network", "exists", netName}) + n.WaitWithDefaultTimeout() + worked = n.ExitCode() == 0 + if worked { + break + } + time.Sleep(interval) + interval *= 2 + } + top := podmanTest.Podman([]string{"run", "-dt", "--name=web", "--network=" + netName, "--network-alias=web1", "--network-alias=web2", nginx}) top.WaitWithDefaultTimeout() Expect(top.ExitCode()).To(BeZero()) - interval := time.Duration(250 * time.Millisecond) + interval = time.Duration(250 * time.Millisecond) // Wait for the nginx service to be running for i := 0; i < 6; i++ { // Test curl against the container's name - c1 := podmanTest.Podman([]string{"run", "--network=" + netName, nginx, "curl", "web"}) + c1 := podmanTest.Podman([]string{"run", "--dns-search", "dns.podman", "--network=" + netName, nginx, "curl", "web"}) c1.WaitWithDefaultTimeout() worked = c1.ExitCode() == 0 if worked { @@ -436,12 +448,12 @@ var _ = Describe("Podman network", func() { // Nginx is now running so no need to do a loop // Test against the first alias - c2 := podmanTest.Podman([]string{"run", "--network=" + netName, nginx, "curl", "web1"}) + c2 := podmanTest.Podman([]string{"run", "--dns-search", "dns.podman", "--network=" + netName, nginx, "curl", "web1"}) c2.WaitWithDefaultTimeout() Expect(c2.ExitCode()).To(BeZero()) // Test against the second alias - c3 := podmanTest.Podman([]string{"run", "--network=" + netName, nginx, "curl", "web2"}) + c3 := podmanTest.Podman([]string{"run", "--dns-search", "dns.podman", "--network=" + netName, nginx, "curl", "web2"}) c3.WaitWithDefaultTimeout() Expect(c3.ExitCode()).To(BeZero()) }) -- cgit v1.2.3-54-g00ecf