From de2b15f4d5a8cd3bf9006d0f3ecdfa75b316f495 Mon Sep 17 00:00:00 2001 From: Anders F Björklund Date: Thu, 26 Nov 2020 17:48:17 +0100 Subject: Add integration test for the bridge options MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Thanks Luap99 for doing the implementation Signed-off-by: Anders F Björklund --- test/e2e/network_create_test.go | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'test/e2e') diff --git a/test/e2e/network_create_test.go b/test/e2e/network_create_test.go index 043046c33..1afd7cec4 100644 --- a/test/e2e/network_create_test.go +++ b/test/e2e/network_create_test.go @@ -329,4 +329,30 @@ var _ = Describe("Podman network create", func() { Expect(nc).To(ExitWithError()) }) + It("podman network create with mtu option", func() { + net := "mtu-test" + nc := podmanTest.Podman([]string{"network", "create", "--opt", "mtu=9000", net}) + nc.WaitWithDefaultTimeout() + Expect(nc.ExitCode()).To(BeZero()) + defer podmanTest.removeCNINetwork(net) + + nc = podmanTest.Podman([]string{"network", "inspect", net}) + nc.WaitWithDefaultTimeout() + Expect(nc.ExitCode()).To(BeZero()) + Expect(nc.OutputToString()).To(ContainSubstring(`"mtu": 9000,`)) + }) + + It("podman network create with vlan option", func() { + net := "vlan-test" + nc := podmanTest.Podman([]string{"network", "create", "--opt", "vlan=9", net}) + nc.WaitWithDefaultTimeout() + Expect(nc.ExitCode()).To(BeZero()) + defer podmanTest.removeCNINetwork(net) + + nc = podmanTest.Podman([]string{"network", "inspect", net}) + nc.WaitWithDefaultTimeout() + Expect(nc.ExitCode()).To(BeZero()) + Expect(nc.OutputToString()).To(ContainSubstring(`"vlan": 9`)) + }) + }) -- cgit v1.2.3-54-g00ecf From db70e91bde90514ace510f66a1069207217a8d69 Mon Sep 17 00:00:00 2001 From: Anders F Björklund Date: Thu, 26 Nov 2020 18:05:00 +0100 Subject: Validate that the bridge option is supported MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Thanks Luap99 for the validation suggestion Signed-off-by: Anders F Björklund --- libpod/network/create.go | 26 +++++++++++++++++++------- test/e2e/network_create_test.go | 7 +++++++ 2 files changed, 26 insertions(+), 7 deletions(-) (limited to 'test/e2e') diff --git a/libpod/network/create.go b/libpod/network/create.go index e9ab93262..094fbe349 100644 --- a/libpod/network/create.go +++ b/libpod/network/create.go @@ -173,14 +173,26 @@ func createBridge(name string, options entities.NetworkCreateOptions, runtimeCon ipMasq = false } - mtu, err := parseMTU(options.Options["mtu"]) - if err != nil { - return "", err - } + var mtu int + var vlan int + for k, v := range options.Options { + var err error + switch k { + case "mtu": + mtu, err = parseMTU(v) + if err != nil { + return "", err + } - vlan, err := parseVlan(options.Options["vlan"]) - if err != nil { - return "", err + case "vlan": + vlan, err = parseVlan(v) + if err != nil { + return "", err + } + + default: + return "", errors.Errorf("unsupported option %s", k) + } } // obtain host bridge name diff --git a/test/e2e/network_create_test.go b/test/e2e/network_create_test.go index 1afd7cec4..21b3074fc 100644 --- a/test/e2e/network_create_test.go +++ b/test/e2e/network_create_test.go @@ -355,4 +355,11 @@ var _ = Describe("Podman network create", func() { Expect(nc.OutputToString()).To(ContainSubstring(`"vlan": 9`)) }) + It("podman network create with invalid option", func() { + net := "invalid-test" + nc := podmanTest.Podman([]string{"network", "create", "--opt", "foo=bar", net}) + nc.WaitWithDefaultTimeout() + Expect(nc).To(ExitWithError()) + }) + }) -- cgit v1.2.3-54-g00ecf