From 5cfd6d9526b40fcecdaa46f3769d988a349e766e Mon Sep 17 00:00:00 2001 From: Andrea Panattoni Date: Wed, 4 Dec 2024 14:59:01 +0100 Subject: [PATCH] e2e: Avoid setting wrong routes for `host-local` IPAM The IPAM configuration: ``` { "type":"host-local", "subnet":"10.10.10.0{"type":"host-local", "subnet":"10.10.10.0/24", "rangeStart":"10.10.10.171", "rangeEnd":"10.10.10.181", "routes":[{"dst":"0.0.0.0/0"}], "gateway":"10.10.10.1" } ``` Can lead to the following pod `ip route` configuration: ``` default via 10.10.10.1 dev net1 default via 10.128.0.1 dev eth0 10.10.10.0/24 dev net1 proto kernel scope link src 10.10.10.172 10.128.0.0/23 dev eth0 proto kernel scope link src 10.128.0.135 10.128.0.0/14 via 10.128.0.1 dev eth0 ``` which causes connectivity issues. Avoid setting default routes to unknown gateways. Signed-off-by: Andrea Panattoni --- test/conformance/tests/test_networkpool.go | 6 ++-- .../tests/test_policy_configuration.go | 8 ++---- test/conformance/tests/test_sriov_operator.go | 28 ++++++------------- 3 files changed, 15 insertions(+), 27 deletions(-) diff --git a/test/conformance/tests/test_networkpool.go b/test/conformance/tests/test_networkpool.go index 47d929013..4eced5fe4 100644 --- a/test/conformance/tests/test_networkpool.go +++ b/test/conformance/tests/test_networkpool.go @@ -181,7 +181,7 @@ var _ = Describe("[sriov] NetworkPool", Ordered, func() { }, Spec: sriovv1.SriovNetworkSpec{ ResourceName: resourceName, - IPAM: `{"type":"host-local","subnet":"10.10.10.0/24","rangeStart":"10.10.10.171","rangeEnd":"10.10.10.181","routes":[{"dst":"0.0.0.0/0"}],"gateway":"10.10.10.1"}`, + IPAM: `{"type":"host-local","subnet":"10.10.10.0/24","rangeStart":"10.10.10.171","rangeEnd":"10.10.10.181"}`, NetworkNamespace: namespaces.Test, MetaPluginsConfig: `{"type": "rdma"}`, }} @@ -197,7 +197,7 @@ var _ = Describe("[sriov] NetworkPool", Ordered, func() { }, Spec: sriovv1.SriovNetworkSpec{ ResourceName: resourceName, - IPAM: `{"type":"host-local","subnet":"10.10.10.0/24","rangeStart":"10.10.10.171","rangeEnd":"10.10.10.181","routes":[{"dst":"0.0.0.0/0"}],"gateway":"10.10.10.1"}`, + IPAM: `{"type":"host-local","subnet":"10.10.10.0/24","rangeStart":"10.10.10.171","rangeEnd":"10.10.10.181"`, NetworkNamespace: namespaces.Test, }} @@ -318,7 +318,7 @@ var _ = Describe("[sriov] NetworkPool", Ordered, func() { }, Spec: sriovv1.SriovNetworkSpec{ ResourceName: resourceName, - IPAM: `{"type":"host-local","subnet":"10.10.10.0/24","rangeStart":"10.10.10.171","rangeEnd":"10.10.10.181","routes":[{"dst":"0.0.0.0/0"}],"gateway":"10.10.10.1"}`, + IPAM: `{"type":"host-local","subnet":"10.10.10.0/24","rangeStart":"10.10.10.171","rangeEnd":"10.10.10.181"`, NetworkNamespace: namespaces.Test, }} diff --git a/test/conformance/tests/test_policy_configuration.go b/test/conformance/tests/test_policy_configuration.go index 28a2c95cc..0a376c365 100644 --- a/test/conformance/tests/test_policy_configuration.go +++ b/test/conformance/tests/test_policy_configuration.go @@ -90,7 +90,7 @@ var _ = Describe("[sriov] operator", Ordered, func() { }, Spec: sriovv1.SriovNetworkSpec{ ResourceName: resourceName, - IPAM: `{"type":"host-local","subnet":"10.10.10.0/24","rangeStart":"10.10.10.171","rangeEnd":"10.10.10.181","routes":[{"dst":"0.0.0.0/0"}],"gateway":"10.10.10.1"}`, + IPAM: `{"type":"host-local","subnet":"10.10.10.0/24","rangeStart":"10.10.10.171","rangeEnd":"10.10.10.181"}`, NetworkNamespace: namespaces.Test, }} @@ -483,9 +483,7 @@ var _ = Describe("[sriov] operator", Ordered, func() { "type":"host-local", "subnet":"10.10.10.0/24", "rangeStart":"10.10.10.171", - "rangeEnd":"10.10.10.181", - "routes":[{"dst":"0.0.0.0/0"}], - "gateway":"10.10.10.1" + "rangeEnd":"10.10.10.181" }` err = network.CreateSriovNetwork(clients, unusedSriovDevice, sriovNetworkName, namespaces.Test, operatorNamespace, resourceName, ipam) @@ -600,7 +598,7 @@ var _ = Describe("[sriov] operator", Ordered, func() { }, Spec: sriovv1.SriovNetworkSpec{ ResourceName: resourceName, - IPAM: `{"type":"host-local","subnet":"10.10.10.0/24","rangeStart":"10.10.10.171","rangeEnd":"10.10.10.181","routes":[{"dst":"0.0.0.0/0"}],"gateway":"10.10.10.1"}`, + IPAM: `{"type":"host-local","subnet":"10.10.10.0/24","rangeStart":"10.10.10.171","rangeEnd":"10.10.10.181"`, NetworkNamespace: namespaces.Test, }} diff --git a/test/conformance/tests/test_sriov_operator.go b/test/conformance/tests/test_sriov_operator.go index cac6b356c..de28156a3 100644 --- a/test/conformance/tests/test_sriov_operator.go +++ b/test/conformance/tests/test_sriov_operator.go @@ -388,7 +388,7 @@ var _ = Describe("[sriov] operator", func() { }, Spec: sriovv1.SriovNetworkSpec{ ResourceName: resourceName, - IPAM: `{"type":"host-local","subnet":"10.10.10.0/24","rangeStart":"10.10.10.171","rangeEnd":"10.10.10.181","routes":[{"dst":"0.0.0.0/0"}],"gateway":"10.10.10.1"}`, + IPAM: `{"type":"host-local","subnet":"10.10.10.0/24","rangeStart":"10.10.10.171","rangeEnd":"10.10.10.181}"`, NetworkNamespace: namespaces.Test, }} err := clients.Create(context.Background(), sriovNetwork) @@ -441,7 +441,7 @@ var _ = Describe("[sriov] operator", func() { }, Spec: sriovv1.SriovNetworkSpec{ ResourceName: resourceName, - IPAM: `{"type":"host-local","subnet":"10.10.10.0/24","rangeStart":"10.10.10.171","rangeEnd":"10.10.10.181","routes":[{"dst":"0.0.0.0/0"}],"gateway":"10.10.10.1"}`, + IPAM: `{"type":"host-local","subnet":"10.10.10.0/24","rangeStart":"10.10.10.171","rangeEnd":"10.10.10.181"}`, NetworkNamespace: namespaces.Test, }} err := clients.Create(context.Background(), sriovNetwork) @@ -563,9 +563,7 @@ var _ = Describe("[sriov] operator", func() { IPAM: `{"type":"host-local", "subnet":"10.10.10.0/24", "rangeStart":"10.10.10.171", - "rangeEnd":"10.10.10.181", - "routes":[{"dst":"0.0.0.0/0"}], - "gateway":"10.10.10.1"}`, + "rangeEnd":"10.10.10.181"}`, NetworkNamespace: namespaces.Test, }} @@ -608,9 +606,7 @@ var _ = Describe("[sriov] operator", func() { IPAM: `{"type":"host-local", "subnet":"10.10.10.0/24", "rangeStart":"10.10.10.171", - "rangeEnd":"10.10.10.181", - "routes":[{"dst":"0.0.0.0/0"}], - "gateway":"10.10.10.1"}`, + "rangeEnd":"10.10.10.181"}`, NetworkNamespace: namespaces.Test, }} @@ -657,9 +653,7 @@ var _ = Describe("[sriov] operator", func() { IPAM: `{"type":"host-local", "subnet":"10.10.10.0/24", "rangeStart":"10.10.10.171", - "rangeEnd":"10.10.10.181", - "routes":[{"dst":"0.0.0.0/0"}], - "gateway":"10.10.10.1"}`, + "rangeEnd":"10.10.10.181"}`, NetworkNamespace: namespaces.Test, }} @@ -730,9 +724,7 @@ var _ = Describe("[sriov] operator", func() { IPAM: `{"type":"host-local", "subnet":"10.10.10.0/24", "rangeStart":"10.10.10.171", - "rangeEnd":"10.10.10.181", - "routes":[{"dst":"0.0.0.0/0"}], - "gateway":"10.10.10.1"}`, + "rangeEnd":"10.10.10.181"}`, MaxTxRate: &maxTxRate, MinTxRate: &minTxRate, NetworkNamespace: namespaces.Test, @@ -766,9 +758,7 @@ var _ = Describe("[sriov] operator", func() { IPAM: `{"type":"host-local", "subnet":"10.10.10.0/24", "rangeStart":"10.10.10.171", - "rangeEnd":"10.10.10.181", - "routes":[{"dst":"0.0.0.0/0"}], - "gateway":"10.10.10.1"}`, + "rangeEnd":"10.10.10.181"}`, Vlan: 1, VlanQoS: 2, NetworkNamespace: namespaces.Test, @@ -1310,7 +1300,7 @@ var _ = Describe("[sriov] operator", func() { }, Spec: sriovv1.SriovNetworkSpec{ ResourceName: resourceName, - IPAM: `{"type":"host-local","subnet":"10.10.10.0/24","rangeStart":"10.10.10.171","rangeEnd":"10.10.10.181","routes":[{"dst":"0.0.0.0/0"}],"gateway":"10.10.10.1"}`, + IPAM: `{"type":"host-local","subnet":"10.10.10.0/24","rangeStart":"10.10.10.171","rangeEnd":"10.10.10.181"}`, NetworkNamespace: namespaces.Test, }} @@ -1602,7 +1592,7 @@ var _ = Describe("[sriov] operator", func() { }, Spec: sriovv1.SriovNetworkSpec{ ResourceName: resourceName, - IPAM: `{"type":"host-local","subnet":"10.10.10.0/24","rangeStart":"10.10.10.171","rangeEnd":"10.10.10.181","routes":[{"dst":"0.0.0.0/0"}],"gateway":"10.10.10.1"}`, + IPAM: `{"type":"host-local","subnet":"10.10.10.0/24","rangeStart":"10.10.10.171","rangeEnd":"10.10.10.181"}`, NetworkNamespace: namespaces.Test, }}