kube-proxy: don't use invalid cidrs in unit test

CIDRs like 192.168.200.3/24 and fd00:20::1/64 replaced with
192.168.200.0/24 and fd00:20::/64
This commit is contained in:
Lars Ekman 2024-01-09 07:15:31 +01:00
parent 85097f3d2c
commit 41ba76d23e
3 changed files with 50 additions and 54 deletions

View File

@ -129,9 +129,9 @@ func Test_getLocalDetector(t *testing.T) {
{ {
name: "LocalModeClusterCIDR, IPv6 cluster", name: "LocalModeClusterCIDR, IPv6 cluster",
mode: proxyconfigapi.LocalModeClusterCIDR, mode: proxyconfigapi.LocalModeClusterCIDR,
config: &proxyconfigapi.KubeProxyConfiguration{ClusterCIDR: "2002::1234:abcd:ffff:c0a8:101/64"}, config: &proxyconfigapi.KubeProxyConfiguration{ClusterCIDR: "2002:0:0:1234::/64"},
family: v1.IPv6Protocol, family: v1.IPv6Protocol,
expected: resolveLocalDetector(t)(proxyutiliptables.NewDetectLocalByCIDR("2002::1234:abcd:ffff:c0a8:101/64")), expected: resolveLocalDetector(t)(proxyutiliptables.NewDetectLocalByCIDR("2002:0:0:1234::/64")),
errExpected: false, errExpected: false,
}, },
{ {
@ -145,7 +145,7 @@ func Test_getLocalDetector(t *testing.T) {
{ {
name: "LocalModeClusterCIDR, IPv4 cluster with IPv6 config", name: "LocalModeClusterCIDR, IPv4 cluster with IPv6 config",
mode: proxyconfigapi.LocalModeClusterCIDR, mode: proxyconfigapi.LocalModeClusterCIDR,
config: &proxyconfigapi.KubeProxyConfiguration{ClusterCIDR: "2002::1234:abcd:ffff:c0a8:101/64"}, config: &proxyconfigapi.KubeProxyConfiguration{ClusterCIDR: "2002:0:0:1234::/64"},
family: v1.IPv4Protocol, family: v1.IPv4Protocol,
expected: proxyutiliptables.NewNoOpLocalDetector(), expected: proxyutiliptables.NewNoOpLocalDetector(),
errExpected: false, errExpected: false,
@ -153,7 +153,7 @@ func Test_getLocalDetector(t *testing.T) {
{ {
name: "LocalModeClusterCIDR, IPv4 kube-proxy in dual-stack IPv6-primary cluster", name: "LocalModeClusterCIDR, IPv4 kube-proxy in dual-stack IPv6-primary cluster",
mode: proxyconfigapi.LocalModeClusterCIDR, mode: proxyconfigapi.LocalModeClusterCIDR,
config: &proxyconfigapi.KubeProxyConfiguration{ClusterCIDR: "2002::1234:abcd:ffff:c0a8:101/64,10.0.0.0/14"}, config: &proxyconfigapi.KubeProxyConfiguration{ClusterCIDR: "2002:0:0:1234::/64,10.0.0.0/14"},
family: v1.IPv4Protocol, family: v1.IPv4Protocol,
expected: resolveLocalDetector(t)(proxyutiliptables.NewDetectLocalByCIDR("10.0.0.0/14")), expected: resolveLocalDetector(t)(proxyutiliptables.NewDetectLocalByCIDR("10.0.0.0/14")),
errExpected: false, errExpected: false,
@ -179,10 +179,10 @@ func Test_getLocalDetector(t *testing.T) {
{ {
name: "LocalModeNodeCIDR, IPv6 cluster", name: "LocalModeNodeCIDR, IPv6 cluster",
mode: proxyconfigapi.LocalModeNodeCIDR, mode: proxyconfigapi.LocalModeNodeCIDR,
config: &proxyconfigapi.KubeProxyConfiguration{ClusterCIDR: "2002::1234:abcd:ffff:c0a8:101/64"}, config: &proxyconfigapi.KubeProxyConfiguration{ClusterCIDR: "2002:0:0:1234::/64"},
family: v1.IPv6Protocol, family: v1.IPv6Protocol,
expected: resolveLocalDetector(t)(proxyutiliptables.NewDetectLocalByCIDR("2002::1234:abcd:ffff:c0a8:101/96")), expected: resolveLocalDetector(t)(proxyutiliptables.NewDetectLocalByCIDR("2002::1234:abcd:ffff:0:0/96")),
nodePodCIDRs: []string{"2002::1234:abcd:ffff:c0a8:101/96"}, nodePodCIDRs: []string{"2002::1234:abcd:ffff:0:0/96"},
errExpected: false, errExpected: false,
}, },
{ {
@ -197,19 +197,19 @@ func Test_getLocalDetector(t *testing.T) {
{ {
name: "LocalModeNodeCIDR, IPv4 cluster with IPv6 config", name: "LocalModeNodeCIDR, IPv4 cluster with IPv6 config",
mode: proxyconfigapi.LocalModeNodeCIDR, mode: proxyconfigapi.LocalModeNodeCIDR,
config: &proxyconfigapi.KubeProxyConfiguration{ClusterCIDR: "2002::1234:abcd:ffff:c0a8:101/64"}, config: &proxyconfigapi.KubeProxyConfiguration{ClusterCIDR: "2002:0:0:1234::/64"},
family: v1.IPv4Protocol, family: v1.IPv4Protocol,
expected: proxyutiliptables.NewNoOpLocalDetector(), expected: proxyutiliptables.NewNoOpLocalDetector(),
nodePodCIDRs: []string{"2002::1234:abcd:ffff:c0a8:101/96"}, nodePodCIDRs: []string{"2002::1234:abcd:ffff:0:0/96"},
errExpected: false, errExpected: false,
}, },
{ {
name: "LocalModeNodeCIDR, IPv6 kube-proxy in dual-stack IPv4-primary cluster", name: "LocalModeNodeCIDR, IPv6 kube-proxy in dual-stack IPv4-primary cluster",
mode: proxyconfigapi.LocalModeNodeCIDR, mode: proxyconfigapi.LocalModeNodeCIDR,
config: &proxyconfigapi.KubeProxyConfiguration{ClusterCIDR: "10.0.0.0/14,2002::1234:abcd:ffff:c0a8:101/64"}, config: &proxyconfigapi.KubeProxyConfiguration{ClusterCIDR: "10.0.0.0/14,2002:0:0:1234::/64"},
family: v1.IPv6Protocol, family: v1.IPv6Protocol,
expected: resolveLocalDetector(t)(proxyutiliptables.NewDetectLocalByCIDR("2002::1234:abcd:ffff:c0a8:101/96")), expected: resolveLocalDetector(t)(proxyutiliptables.NewDetectLocalByCIDR("2002::1234:abcd:ffff:0:0/96")),
nodePodCIDRs: []string{"10.0.0.0/24", "2002::1234:abcd:ffff:c0a8:101/96"}, nodePodCIDRs: []string{"10.0.0.0/24", "2002::1234:abcd:ffff:0:0/96"},
errExpected: false, errExpected: false,
}, },
{ {
@ -307,19 +307,19 @@ func Test_getDualStackLocalDetectorTuple(t *testing.T) {
{ {
name: "LocalModeClusterCIDR, dual-stack IPv4-primary cluster", name: "LocalModeClusterCIDR, dual-stack IPv4-primary cluster",
mode: proxyconfigapi.LocalModeClusterCIDR, mode: proxyconfigapi.LocalModeClusterCIDR,
config: &proxyconfigapi.KubeProxyConfiguration{ClusterCIDR: "10.0.0.0/14,2002::1234:abcd:ffff:c0a8:101/64"}, config: &proxyconfigapi.KubeProxyConfiguration{ClusterCIDR: "10.0.0.0/14,2002:0:0:1234::/64"},
expected: resolveDualStackLocalDetectors(t)( expected: resolveDualStackLocalDetectors(t)(
proxyutiliptables.NewDetectLocalByCIDR("10.0.0.0/14"))( proxyutiliptables.NewDetectLocalByCIDR("10.0.0.0/14"))(
proxyutiliptables.NewDetectLocalByCIDR("2002::1234:abcd:ffff:c0a8:101/64")), proxyutiliptables.NewDetectLocalByCIDR("2002:0:0:1234::/64")),
errExpected: false, errExpected: false,
}, },
{ {
name: "LocalModeClusterCIDR, dual-stack IPv6-primary cluster", name: "LocalModeClusterCIDR, dual-stack IPv6-primary cluster",
mode: proxyconfigapi.LocalModeClusterCIDR, mode: proxyconfigapi.LocalModeClusterCIDR,
config: &proxyconfigapi.KubeProxyConfiguration{ClusterCIDR: "2002::1234:abcd:ffff:c0a8:101/64,10.0.0.0/14"}, config: &proxyconfigapi.KubeProxyConfiguration{ClusterCIDR: "2002:0:0:1234::/64,10.0.0.0/14"},
expected: resolveDualStackLocalDetectors(t)( expected: resolveDualStackLocalDetectors(t)(
proxyutiliptables.NewDetectLocalByCIDR("10.0.0.0/14"))( proxyutiliptables.NewDetectLocalByCIDR("10.0.0.0/14"))(
proxyutiliptables.NewDetectLocalByCIDR("2002::1234:abcd:ffff:c0a8:101/64")), proxyutiliptables.NewDetectLocalByCIDR("2002:0:0:1234::/64")),
errExpected: false, errExpected: false,
}, },
{ {
@ -334,10 +334,10 @@ func Test_getDualStackLocalDetectorTuple(t *testing.T) {
{ {
name: "LocalModeClusterCIDR, single-stack IPv6 cluster", name: "LocalModeClusterCIDR, single-stack IPv6 cluster",
mode: proxyconfigapi.LocalModeClusterCIDR, mode: proxyconfigapi.LocalModeClusterCIDR,
config: &proxyconfigapi.KubeProxyConfiguration{ClusterCIDR: "2002::1234:abcd:ffff:c0a8:101/64"}, config: &proxyconfigapi.KubeProxyConfiguration{ClusterCIDR: "2002:0:0:1234::/64"},
expected: [2]proxyutiliptables.LocalTrafficDetector{ expected: [2]proxyutiliptables.LocalTrafficDetector{
proxyutiliptables.NewNoOpLocalDetector(), proxyutiliptables.NewNoOpLocalDetector(),
resolveLocalDetector(t)(proxyutiliptables.NewDetectLocalByCIDR("2002::1234:abcd:ffff:c0a8:101/64"))}, resolveLocalDetector(t)(proxyutiliptables.NewDetectLocalByCIDR("2002:0:0:1234::/64"))},
errExpected: false, errExpected: false,
}, },
{ {
@ -351,21 +351,21 @@ func Test_getDualStackLocalDetectorTuple(t *testing.T) {
{ {
name: "LocalModeNodeCIDR, dual-stack IPv4-primary cluster", name: "LocalModeNodeCIDR, dual-stack IPv4-primary cluster",
mode: proxyconfigapi.LocalModeNodeCIDR, mode: proxyconfigapi.LocalModeNodeCIDR,
config: &proxyconfigapi.KubeProxyConfiguration{ClusterCIDR: "10.0.0.0/14,2002::1234:abcd:ffff:c0a8:101/64"}, config: &proxyconfigapi.KubeProxyConfiguration{ClusterCIDR: "10.0.0.0/14,2002:0:0:1234::/64"},
expected: resolveDualStackLocalDetectors(t)( expected: resolveDualStackLocalDetectors(t)(
proxyutiliptables.NewDetectLocalByCIDR("10.0.0.0/24"))( proxyutiliptables.NewDetectLocalByCIDR("10.0.0.0/24"))(
proxyutiliptables.NewDetectLocalByCIDR("2002::1234:abcd:ffff:c0a8:101/96")), proxyutiliptables.NewDetectLocalByCIDR("2002::1234:abcd:ffff:0:0/96")),
nodePodCIDRs: []string{"10.0.0.0/24", "2002::1234:abcd:ffff:c0a8:101/96"}, nodePodCIDRs: []string{"10.0.0.0/24", "2002::1234:abcd:ffff:0:0/96"},
errExpected: false, errExpected: false,
}, },
{ {
name: "LocalModeNodeCIDR, dual-stack IPv6-primary cluster", name: "LocalModeNodeCIDR, dual-stack IPv6-primary cluster",
mode: proxyconfigapi.LocalModeNodeCIDR, mode: proxyconfigapi.LocalModeNodeCIDR,
config: &proxyconfigapi.KubeProxyConfiguration{ClusterCIDR: "2002::1234:abcd:ffff:c0a8:101/64,10.0.0.0/14"}, config: &proxyconfigapi.KubeProxyConfiguration{ClusterCIDR: "2002:0:0:1234::/64,10.0.0.0/14"},
expected: resolveDualStackLocalDetectors(t)( expected: resolveDualStackLocalDetectors(t)(
proxyutiliptables.NewDetectLocalByCIDR("10.0.0.0/24"))( proxyutiliptables.NewDetectLocalByCIDR("10.0.0.0/24"))(
proxyutiliptables.NewDetectLocalByCIDR("2002::1234:abcd:ffff:c0a8:101/96")), proxyutiliptables.NewDetectLocalByCIDR("2002::1234:abcd:ffff:0:0/96")),
nodePodCIDRs: []string{"2002::1234:abcd:ffff:c0a8:101/96", "10.0.0.0/24"}, nodePodCIDRs: []string{"2002::1234:abcd:ffff:0:0/96", "10.0.0.0/24"},
errExpected: false, errExpected: false,
}, },
{ {
@ -381,11 +381,11 @@ func Test_getDualStackLocalDetectorTuple(t *testing.T) {
{ {
name: "LocalModeNodeCIDR, single-stack IPv6 cluster", name: "LocalModeNodeCIDR, single-stack IPv6 cluster",
mode: proxyconfigapi.LocalModeNodeCIDR, mode: proxyconfigapi.LocalModeNodeCIDR,
config: &proxyconfigapi.KubeProxyConfiguration{ClusterCIDR: "2002::1234:abcd:ffff:c0a8:101/64"}, config: &proxyconfigapi.KubeProxyConfiguration{ClusterCIDR: "2002:0:0:1234::/64"},
expected: [2]proxyutiliptables.LocalTrafficDetector{ expected: [2]proxyutiliptables.LocalTrafficDetector{
proxyutiliptables.NewNoOpLocalDetector(), proxyutiliptables.NewNoOpLocalDetector(),
resolveLocalDetector(t)(proxyutiliptables.NewDetectLocalByCIDR("2002::1234:abcd:ffff:c0a8:101/96"))}, resolveLocalDetector(t)(proxyutiliptables.NewDetectLocalByCIDR("2002::1234:abcd:ffff:0:0/96"))},
nodePodCIDRs: []string{"2002::1234:abcd:ffff:c0a8:101/96"}, nodePodCIDRs: []string{"2002::1234:abcd:ffff:0:0/96"},
errExpected: false, errExpected: false,
}, },
{ {

View File

@ -48,7 +48,7 @@ func TestNewDetectLocalByCIDR(t *testing.T) {
errExpected: false, errExpected: false,
}, },
{ {
cidr: "2002::1234:abcd:ffff:c0a8:101/64", cidr: "2002:0:0:1234::/64",
errExpected: false, errExpected: false,
}, },
{ {
@ -56,11 +56,7 @@ func TestNewDetectLocalByCIDR(t *testing.T) {
errExpected: true, errExpected: true,
}, },
{ {
cidr: "2002::1234:abcd:ffff:c0a8:101", cidr: "2002:0:0:1234::",
errExpected: true,
},
{
cidr: "",
errExpected: true, errExpected: true,
}, },
{ {
@ -94,9 +90,9 @@ func TestDetectLocalByCIDR(t *testing.T) {
expectedIfNotLocalOutput: []string{"!", "-s", "10.0.0.0/14"}, expectedIfNotLocalOutput: []string{"!", "-s", "10.0.0.0/14"},
}, },
{ {
cidr: "2002::1234:abcd:ffff:c0a8:101/64", cidr: "2002:0:0:1234::/64",
expectedIfLocalOutput: []string{"-s", "2002::1234:abcd:ffff:c0a8:101/64"}, expectedIfLocalOutput: []string{"-s", "2002:0:0:1234::/64"},
expectedIfNotLocalOutput: []string{"!", "-s", "2002::1234:abcd:ffff:c0a8:101/64"}, expectedIfNotLocalOutput: []string{"!", "-s", "2002:0:0:1234::/64"},
}, },
} }
for _, c := range cases { for _, c := range cases {

View File

@ -372,58 +372,58 @@ func TestMapCIDRsByIPFamily(t *testing.T) {
}, },
{ {
desc: "want IPv4 and receive IPv6", desc: "want IPv4 and receive IPv6",
ipString: []string{"fd00:20::1/64"}, ipString: []string{"fd00:20::/64"},
wantIPv6: false, wantIPv6: false,
expectCorrect: nil, expectCorrect: nil,
expectIncorrect: []string{"fd00:20::1/64"}, expectIncorrect: []string{"fd00:20::/64"},
}, },
{ {
desc: "want IPv6 and receive IPv4", desc: "want IPv6 and receive IPv4",
ipString: []string{"192.168.200.2/24"}, ipString: []string{"192.168.200.0/24"},
wantIPv6: true, wantIPv6: true,
expectCorrect: nil, expectCorrect: nil,
expectIncorrect: []string{"192.168.200.2/24"}, expectIncorrect: []string{"192.168.200.0/24"},
}, },
{ {
desc: "want IPv6 and receive IPv4 and IPv6", desc: "want IPv6 and receive IPv4 and IPv6",
ipString: []string{"192.168.200.2/24", "192.1.34.23/24", "fd00:20::1/64", "2001:db9::3/64"}, ipString: []string{"192.168.200.0/24", "192.1.34.0/24", "fd00:20::/64", "2001:db9::/64"},
wantIPv6: true, wantIPv6: true,
expectCorrect: []string{"fd00:20::1/64", "2001:db9::3/64"}, expectCorrect: []string{"fd00:20::/64", "2001:db9::/64"},
expectIncorrect: []string{"192.168.200.2/24", "192.1.34.23/24"}, expectIncorrect: []string{"192.168.200.0/24", "192.1.34.0/24"},
}, },
{ {
desc: "want IPv4 and receive IPv4 and IPv6", desc: "want IPv4 and receive IPv4 and IPv6",
ipString: []string{"192.168.200.2/24", "192.1.34.23/24", "fd00:20::1/64", "2001:db9::3/64"}, ipString: []string{"192.168.200.0/24", "192.1.34.0/24", "fd00:20::/64", "2001:db9::/64"},
wantIPv6: false, wantIPv6: false,
expectCorrect: []string{"192.168.200.2/24", "192.1.34.23/24"}, expectCorrect: []string{"192.168.200.0/24", "192.1.34.0/24"},
expectIncorrect: []string{"fd00:20::1/64", "2001:db9::3/64"}, expectIncorrect: []string{"fd00:20::/64", "2001:db9::/64"},
}, },
{ {
desc: "want IPv4 and receive IPv4 only", desc: "want IPv4 and receive IPv4 only",
ipString: []string{"192.168.200.2/24", "192.1.34.23/24"}, ipString: []string{"192.168.200.0/24", "192.1.34.0/24"},
wantIPv6: false, wantIPv6: false,
expectCorrect: []string{"192.168.200.2/24", "192.1.34.23/24"}, expectCorrect: []string{"192.168.200.0/24", "192.1.34.0/24"},
expectIncorrect: nil, expectIncorrect: nil,
}, },
{ {
desc: "want IPv6 and receive IPv4 only", desc: "want IPv6 and receive IPv4 only",
ipString: []string{"192.168.200.2/24", "192.1.34.23/24"}, ipString: []string{"192.168.200.0/24", "192.1.34.0/24"},
wantIPv6: true, wantIPv6: true,
expectCorrect: nil, expectCorrect: nil,
expectIncorrect: []string{"192.168.200.2/24", "192.1.34.23/24"}, expectIncorrect: []string{"192.168.200.0/24", "192.1.34.0/24"},
}, },
{ {
desc: "want IPv4 and receive IPv6 only", desc: "want IPv4 and receive IPv6 only",
ipString: []string{"fd00:20::1/64", "2001:db9::3/64"}, ipString: []string{"fd00:20::/64", "2001:db9::/64"},
wantIPv6: false, wantIPv6: false,
expectCorrect: nil, expectCorrect: nil,
expectIncorrect: []string{"fd00:20::1/64", "2001:db9::3/64"}, expectIncorrect: []string{"fd00:20::/64", "2001:db9::/64"},
}, },
{ {
desc: "want IPv6 and receive IPv6 only", desc: "want IPv6 and receive IPv6 only",
ipString: []string{"fd00:20::1/64", "2001:db9::3/64"}, ipString: []string{"fd00:20::/64", "2001:db9::/64"},
wantIPv6: true, wantIPv6: true,
expectCorrect: []string{"fd00:20::1/64", "2001:db9::3/64"}, expectCorrect: []string{"fd00:20::/64", "2001:db9::/64"},
expectIncorrect: nil, expectIncorrect: nil,
}, },
} }