Skip to content

Commit b6bcd3f

Browse files
committed
test/e2e: Remove slirp
Signed-off-by: Lokesh Mandvekar <[email protected]>
1 parent 2c58d81 commit b6bcd3f

File tree

6 files changed

+2
-186
lines changed

6 files changed

+2
-186
lines changed

test/e2e/containers_conf_test.go

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -384,12 +384,6 @@ var _ = Describe("Verify podman containers.conf usage", func() {
384384
Expect(session.OutputToString()).To(Equal("0002"))
385385
})
386386

387-
It("network slirp options to allow host loopback", func() {
388-
session := podmanTest.Podman([]string{"run", "--network", "slirp4netns", ALPINE, "ping", "-c1", "10.0.2.2"})
389-
session.Wait(30)
390-
Expect(session).Should(ExitCleanly())
391-
})
392-
393387
It("podman-remote test localcontainers.conf", func() {
394388
SkipIfNotRemote("this test is only for remote")
395389

@@ -754,7 +748,7 @@ var _ = Describe("Verify podman containers.conf usage", func() {
754748
It("podman default_rootless_network_cmd", func() {
755749
SkipIfNotRootless("default_rootless_network_cmd is only used rootless")
756750

757-
for _, mode := range []string{"pasta", "slirp4netns", "invalid"} {
751+
for _, mode := range []string{"pasta", "invalid"} {
758752
conffile := filepath.Join(podmanTest.TempDir, "container.conf")
759753
content := "[network]\ndefault_rootless_network_cmd=\"" + mode + "\"\n"
760754
err := os.WriteFile(conffile, []byte(content), 0o755)

test/e2e/network_connect_disconnect_test.go

Lines changed: 0 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -32,23 +32,6 @@ var _ = Describe("Podman network connect and disconnect", func() {
3232
Expect(dis).Should(ExitWithError(125, `no container with name or ID "foobar" found: no such container`))
3333
})
3434

35-
It("network disconnect with net mode slirp4netns should result in error", func() {
36-
netName := "slirp" + stringid.GenerateRandomID()
37-
session := podmanTest.Podman([]string{"network", "create", netName})
38-
session.WaitWithDefaultTimeout()
39-
Expect(session).Should(ExitCleanly())
40-
defer podmanTest.removeNetwork(netName)
41-
42-
session = podmanTest.Podman([]string{"create", "--name", "test", "--network", "slirp4netns", ALPINE})
43-
session.WaitWithDefaultTimeout()
44-
Expect(session).Should(ExitCleanly())
45-
defer podmanTest.removeNetwork(netName)
46-
47-
con := podmanTest.Podman([]string{"network", "disconnect", netName, "test"})
48-
con.WaitWithDefaultTimeout()
49-
Expect(con).Should(ExitWithError(125, `"slirp4netns" is not supported: invalid network mode`))
50-
})
51-
5235
It("podman network disconnect", func() {
5336
netName := "aliasTest" + stringid.GenerateRandomID()
5437
session := podmanTest.Podman([]string{"network", "create", netName})
@@ -121,23 +104,6 @@ var _ = Describe("Podman network connect and disconnect", func() {
121104
Expect(dis).Should(ExitWithError(125, `no container with name or ID "foobar" found: no such container`))
122105
})
123106

124-
It("network connect with net mode slirp4netns should result in error", func() {
125-
netName := "slirp" + stringid.GenerateRandomID()
126-
session := podmanTest.Podman([]string{"network", "create", netName})
127-
session.WaitWithDefaultTimeout()
128-
Expect(session).Should(ExitCleanly())
129-
defer podmanTest.removeNetwork(netName)
130-
131-
session = podmanTest.Podman([]string{"create", "--name", "test", "--network", "slirp4netns", ALPINE})
132-
session.WaitWithDefaultTimeout()
133-
Expect(session).Should(ExitCleanly())
134-
defer podmanTest.removeNetwork(netName)
135-
136-
con := podmanTest.Podman([]string{"network", "connect", netName, "test"})
137-
con.WaitWithDefaultTimeout()
138-
Expect(con).Should(ExitWithError(125, `"slirp4netns" is not supported: invalid network mode`))
139-
})
140-
141107
It("podman connect on a container that already is connected to the network should error after init", func() {
142108
netName := "aliasTest" + stringid.GenerateRandomID()
143109
session := podmanTest.Podman([]string{"network", "create", netName})

test/e2e/network_create_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -568,7 +568,7 @@ var _ = Describe("Podman network create", func() {
568568
})
569569

570570
It("podman network create with invalid name", func() {
571-
for _, name := range []string{"none", "host", "bridge", "private", "slirp4netns", "pasta", "container", "ns", "default"} {
571+
for _, name := range []string{"none", "host", "bridge", "private", "pasta", "container", "ns", "default"} {
572572
nc := podmanTest.Podman([]string{"network", "create", name})
573573
nc.WaitWithDefaultTimeout()
574574
Expect(nc).To(ExitWithError(125, fmt.Sprintf("cannot create network with name %q because it conflicts with a valid network mode", name)))

test/e2e/pod_create_test.go

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -557,18 +557,6 @@ entrypoint ["/fromimage"]
557557
Expect(check2.OutputToString()).To(Equal("/fromcommand:[/fromcommand]"))
558558
})
559559

560-
It("podman create pod with slirp network option", func() {
561-
name := "test"
562-
session := podmanTest.Podman([]string{"pod", "create", "--name", name, "--network", "slirp4netns:port_handler=slirp4netns", "-p", "8082:8000"})
563-
session.WaitWithDefaultTimeout()
564-
Expect(session).Should(ExitCleanly())
565-
566-
check := podmanTest.Podman([]string{"pod", "inspect", "--format", "{{.InfraConfig.NetworkOptions.slirp4netns}}", name})
567-
check.WaitWithDefaultTimeout()
568-
Expect(check).Should(ExitCleanly())
569-
Expect(check.OutputToString()).To(Equal("[port_handler=slirp4netns]"))
570-
})
571-
572560
It("podman pod status test", func() {
573561
podName := "testpod"
574562
create := podmanTest.Podman([]string{"pod", "create", "--name", podName})

test/e2e/run_networking_test.go

Lines changed: 0 additions & 109 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,9 @@ package integration
55
import (
66
"encoding/json"
77
"fmt"
8-
"io"
98
"net"
109
"os"
11-
"strconv"
1210
"strings"
13-
"sync"
1411
"syscall"
1512

1613
"github.com/containernetworking/plugins/pkg/ns"
@@ -560,112 +557,6 @@ EXPOSE 2004-2005/tcp`, ALPINE)
560557
Expect(inspectOut[0].NetworkSettings.Ports["80/tcp"][0]).To(HaveField("HostIP", "0.0.0.0"))
561558
})
562559

563-
It("podman run slirp4netns verify net.ipv6.conf.default.accept_dad=0", func() {
564-
session := podmanTest.Podman([]string{"run", "--network", "slirp4netns:enable_ipv6=true", ALPINE, "ip", "addr"})
565-
session.WaitWithDefaultTimeout()
566-
Expect(session).Should(ExitCleanly())
567-
// check the ipv6 setup id done without delay (https://github.com/containers/podman/issues/11062)
568-
Expect(session.OutputToString()).To(ContainSubstring("inet6 fd00::"))
569-
570-
const ipv6ConfDefaultAcceptDadSysctl = "/proc/sys/net/ipv6/conf/all/accept_dad"
571-
572-
cat := SystemExec("cat", []string{ipv6ConfDefaultAcceptDadSysctl})
573-
cat.WaitWithDefaultTimeout()
574-
Expect(cat).Should(ExitCleanly())
575-
sysctlValue := cat.OutputToString()
576-
577-
session = podmanTest.Podman([]string{"run", "--network", "slirp4netns:enable_ipv6=true", ALPINE, "cat", ipv6ConfDefaultAcceptDadSysctl})
578-
session.WaitWithDefaultTimeout()
579-
Expect(session).Should(ExitCleanly())
580-
Expect(session.OutputToString()).To(Equal(sysctlValue))
581-
})
582-
583-
It("podman run network expose host port 8080 to container port 8000 using invalid port handler", func() {
584-
session := podmanTest.Podman([]string{"run", "--network", "slirp4netns:port_handler=invalid", "-dt", "-p", "8080:8000", ALPINE, "/bin/sh"})
585-
session.WaitWithDefaultTimeout()
586-
Expect(session).To(ExitWithError(126, `unknown port_handler for slirp4netns: "invalid"`))
587-
})
588-
589-
It("podman run slirp4netns network with host loopback", func() {
590-
session := podmanTest.Podman([]string{"run", "--cap-add", "net_raw", "--network", "slirp4netns:allow_host_loopback=true", ALPINE, "ping", "-c1", "10.0.2.2"})
591-
session.WaitWithDefaultTimeout()
592-
Expect(session).Should(ExitCleanly())
593-
})
594-
595-
It("podman run slirp4netns network with mtu", func() {
596-
session := podmanTest.Podman([]string{"run", "--network", "slirp4netns:mtu=9000", ALPINE, "ip", "addr"})
597-
session.Wait(30)
598-
Expect(session).Should(ExitCleanly())
599-
Expect(session.OutputToString()).To(ContainSubstring("mtu 9000"))
600-
})
601-
602-
It("podman run slirp4netns network with different cidr", func() {
603-
slirp4netnsHelp := SystemExec("slirp4netns", []string{"--help"})
604-
Expect(slirp4netnsHelp).Should(ExitCleanly())
605-
606-
networkConfiguration := "slirp4netns:cidr=192.168.0.0/24,allow_host_loopback=true"
607-
session := podmanTest.Podman([]string{"run", "--cap-add", "net_raw", "--network", networkConfiguration, ALPINE, "ping", "-c1", "192.168.0.2"})
608-
session.Wait(30)
609-
610-
if strings.Contains(slirp4netnsHelp.OutputToString(), "cidr") {
611-
Expect(session).Should(ExitCleanly())
612-
} else {
613-
Expect(session).To(ExitWithError(125, "cidr not supported"))
614-
}
615-
})
616-
617-
for _, local := range []bool{true, false} {
618-
testName := "HostIP"
619-
if local {
620-
testName = "127.0.0.1"
621-
}
622-
It(fmt.Sprintf("podman run network slirp4netns bind to %s", testName), func() {
623-
ip := "127.0.0.1"
624-
if !local {
625-
// Determine our likeliest outgoing IP address
626-
conn, err := net.Dial("udp", "8.8.8.8:80")
627-
Expect(err).ToNot(HaveOccurred())
628-
629-
defer conn.Close()
630-
ip = conn.LocalAddr().(*net.UDPAddr).IP.String()
631-
}
632-
port := strconv.Itoa(GetPort())
633-
634-
networkConfiguration := fmt.Sprintf("slirp4netns:outbound_addr=%s,allow_host_loopback=true", ip)
635-
636-
listener, err := net.Listen("tcp", ":"+port)
637-
Expect(err).ToNot(HaveOccurred())
638-
defer listener.Close()
639-
640-
msg := RandomString(10)
641-
wg := &sync.WaitGroup{}
642-
wg.Add(1)
643-
// now use a new goroutine to start accepting connection in the background and make the checks there
644-
go func() {
645-
defer GinkgoRecover()
646-
defer wg.Done()
647-
conn, err := listener.Accept()
648-
Expect(err).ToNot(HaveOccurred(), "accept new connection")
649-
defer conn.Close()
650-
addr := conn.RemoteAddr()
651-
// addr will be in the form ip:port, we don't care about the port as it is random
652-
Expect(addr.String()).To(HavePrefix(ip+":"), "remote address")
653-
gotBytes, err := io.ReadAll(conn)
654-
Expect(err).ToNot(HaveOccurred(), "read from connection")
655-
Expect(string(gotBytes)).To(Equal(msg), "received correct message from container")
656-
}()
657-
658-
session := podmanTest.Podman([]string{"run", "--network", networkConfiguration, ALPINE, "sh", "-c", "echo -n " + msg + " | nc -w 30 10.0.2.2 " + port})
659-
session.WaitWithDefaultTimeout()
660-
Expect(session).Should(ExitCleanly())
661-
662-
// explicitly close the socket here before we wait to unlock Accept() calls in case of hangs
663-
listener.Close()
664-
// wait for the checks in the goroutine to be done
665-
wg.Wait()
666-
})
667-
}
668-
669560
It("podman run network expose ports in image metadata", func() {
670561
session := podmanTest.Podman([]string{"create", "--name", "test", "-t", "-P", NGINX_IMAGE})
671562
session.WaitWithDefaultTimeout()

test/e2e/stats_test.go

Lines changed: 0 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -150,29 +150,6 @@ var _ = Describe("Podman stats", func() {
150150
Expect(session).Should(ExitCleanly())
151151
})
152152

153-
It("podman stats on container with forced slirp4netns", func() {
154-
// This will force the slirp4netns net mode to be tested as root
155-
session := podmanTest.Podman([]string{"run", "-d", "--net", "slirp4netns", ALPINE, "top"})
156-
session.WaitWithDefaultTimeout()
157-
Expect(session).Should(ExitCleanly())
158-
session = podmanTest.Podman([]string{"stats", "--no-stream", "-a"})
159-
session.WaitWithDefaultTimeout()
160-
Expect(session).Should(ExitCleanly())
161-
})
162-
163-
It("podman reads slirp4netns network stats", func() {
164-
session := podmanTest.Podman([]string{"run", "-d", "--network", "slirp4netns", ALPINE, "top"})
165-
session.WaitWithDefaultTimeout()
166-
Expect(session).Should(ExitCleanly())
167-
168-
cid := session.OutputToString()
169-
170-
stats := podmanTest.Podman([]string{"stats", "--format", "'{{.NetIO}}'", "--no-stream", cid})
171-
stats.WaitWithDefaultTimeout()
172-
Expect(stats).Should(ExitCleanly())
173-
Expect(stats.OutputToString()).To(Not(ContainSubstring("-- / --")))
174-
})
175-
176153
// Regression test for #8265
177154
It("podman stats with custom memory limits", func() {
178155
// Run three containers. One with a memory limit. Make sure

0 commit comments

Comments
 (0)