Skip to content

Commit 26079ce

Browse files
committed
fixup! securitygroup: allow setting allowed IPv6 CIDR for node NodePort services
1 parent 303c3d3 commit 26079ce

File tree

1 file changed

+38
-90
lines changed

1 file changed

+38
-90
lines changed

pkg/cloud/services/securitygroup/securitygroups_test.go

Lines changed: 38 additions & 90 deletions
Original file line numberDiff line numberDiff line change
@@ -2332,27 +2332,14 @@ func TestNodePortServicesIngressRules(t *testing.T) {
23322332

23332333
testCases := []struct {
23342334
name string
2335-
awsCluster *infrav1.AWSCluster
2335+
networkSpecOverride infrav1.NetworkSpec
23362336
expectedIngresRules infrav1.IngressRules
23372337
}{
23382338
{
23392339
name: "default node ports services ingress rules, no node port cidr block provided",
2340-
awsCluster: &infrav1.AWSCluster{
2341-
Spec: infrav1.AWSClusterSpec{
2342-
ControlPlaneLoadBalancer: &infrav1.AWSLoadBalancerSpec{},
2343-
NetworkSpec: infrav1.NetworkSpec{
2344-
VPC: infrav1.VPCSpec{
2345-
CidrBlock: "10.0.0.0/16",
2346-
},
2347-
},
2348-
},
2349-
Status: infrav1.AWSClusterStatus{
2350-
Network: infrav1.NetworkStatus{
2351-
SecurityGroups: map[infrav1.SecurityGroupRole]infrav1.SecurityGroup{
2352-
infrav1.SecurityGroupControlPlane: {ID: "Id1"},
2353-
infrav1.SecurityGroupNode: {ID: "Id2"},
2354-
},
2355-
},
2340+
networkSpecOverride: infrav1.NetworkSpec{
2341+
VPC: infrav1.VPCSpec{
2342+
CidrBlock: "10.0.0.0/16",
23562343
},
23572344
},
23582345
expectedIngresRules: infrav1.IngressRules{
@@ -2374,23 +2361,10 @@ func TestNodePortServicesIngressRules(t *testing.T) {
23742361
},
23752362
{
23762363
name: "default node ports services ingress rules for IPv6, no node port cidr block provided",
2377-
awsCluster: &infrav1.AWSCluster{
2378-
Spec: infrav1.AWSClusterSpec{
2379-
ControlPlaneLoadBalancer: &infrav1.AWSLoadBalancerSpec{},
2380-
NetworkSpec: infrav1.NetworkSpec{
2381-
VPC: infrav1.VPCSpec{
2382-
CidrBlock: "10.0.0.0/16",
2383-
IPv6: &infrav1.IPv6{},
2384-
},
2385-
},
2386-
},
2387-
Status: infrav1.AWSClusterStatus{
2388-
Network: infrav1.NetworkStatus{
2389-
SecurityGroups: map[infrav1.SecurityGroupRole]infrav1.SecurityGroup{
2390-
infrav1.SecurityGroupControlPlane: {ID: "Id1"},
2391-
infrav1.SecurityGroupNode: {ID: "Id2"},
2392-
},
2393-
},
2364+
networkSpecOverride: infrav1.NetworkSpec{
2365+
VPC: infrav1.VPCSpec{
2366+
CidrBlock: "10.0.0.0/16",
2367+
IPv6: &infrav1.IPv6{},
23942368
},
23952369
},
23962370
expectedIngresRules: infrav1.IngressRules{
@@ -2413,24 +2387,11 @@ func TestNodePortServicesIngressRules(t *testing.T) {
24132387
},
24142388
{
24152389
name: "node port cidr block provided, no default cidr block used for node port services ingress rule",
2416-
awsCluster: &infrav1.AWSCluster{
2417-
Spec: infrav1.AWSClusterSpec{
2418-
ControlPlaneLoadBalancer: &infrav1.AWSLoadBalancerSpec{},
2419-
NetworkSpec: infrav1.NetworkSpec{
2420-
VPC: infrav1.VPCSpec{
2421-
CidrBlock: "10.0.0.0/16",
2422-
},
2423-
NodePortIngressRuleCidrBlocks: []string{"10.0.0.0/16"},
2424-
},
2425-
},
2426-
Status: infrav1.AWSClusterStatus{
2427-
Network: infrav1.NetworkStatus{
2428-
SecurityGroups: map[infrav1.SecurityGroupRole]infrav1.SecurityGroup{
2429-
infrav1.SecurityGroupControlPlane: {ID: "Id1"},
2430-
infrav1.SecurityGroupNode: {ID: "Id2"},
2431-
},
2432-
},
2390+
networkSpecOverride: infrav1.NetworkSpec{
2391+
VPC: infrav1.VPCSpec{
2392+
CidrBlock: "10.0.0.0/16",
24332393
},
2394+
NodePortIngressRuleCidrBlocks: []string{"10.0.0.0/16"},
24342395
},
24352396
expectedIngresRules: infrav1.IngressRules{
24362397
{
@@ -2451,27 +2412,14 @@ func TestNodePortServicesIngressRules(t *testing.T) {
24512412
},
24522413
{
24532414
name: "node port cidr block provided for only IPv6, no default cidr block used for node port services ingress rule",
2454-
awsCluster: &infrav1.AWSCluster{
2455-
Spec: infrav1.AWSClusterSpec{
2456-
ControlPlaneLoadBalancer: &infrav1.AWSLoadBalancerSpec{},
2457-
NetworkSpec: infrav1.NetworkSpec{
2458-
VPC: infrav1.VPCSpec{
2459-
CidrBlock: "10.0.0.0/16",
2460-
IPv6: &infrav1.IPv6{
2461-
CidrBlock: "2001:1234:5678:9a40::/56",
2462-
},
2463-
},
2464-
NodePortIngressRuleCidrBlocks: []string{"2001:1234:5678:9a40::/56"},
2465-
},
2466-
},
2467-
Status: infrav1.AWSClusterStatus{
2468-
Network: infrav1.NetworkStatus{
2469-
SecurityGroups: map[infrav1.SecurityGroupRole]infrav1.SecurityGroup{
2470-
infrav1.SecurityGroupControlPlane: {ID: "Id1"},
2471-
infrav1.SecurityGroupNode: {ID: "Id2"},
2472-
},
2415+
networkSpecOverride: infrav1.NetworkSpec{
2416+
VPC: infrav1.VPCSpec{
2417+
CidrBlock: "10.0.0.0/16",
2418+
IPv6: &infrav1.IPv6{
2419+
CidrBlock: "2001:1234:5678:9a40::/56",
24732420
},
24742421
},
2422+
NodePortIngressRuleCidrBlocks: []string{"2001:1234:5678:9a40::/56"},
24752423
},
24762424
expectedIngresRules: infrav1.IngressRules{
24772425
{
@@ -2493,27 +2441,14 @@ func TestNodePortServicesIngressRules(t *testing.T) {
24932441
},
24942442
{
24952443
name: "node port cidr block provided for both IPv4 and IPv6, no default cidr block used for node port services ingress rule",
2496-
awsCluster: &infrav1.AWSCluster{
2497-
Spec: infrav1.AWSClusterSpec{
2498-
ControlPlaneLoadBalancer: &infrav1.AWSLoadBalancerSpec{},
2499-
NetworkSpec: infrav1.NetworkSpec{
2500-
VPC: infrav1.VPCSpec{
2501-
CidrBlock: "10.0.0.0/16",
2502-
IPv6: &infrav1.IPv6{
2503-
CidrBlock: "2001:1234:5678:9a40::/56",
2504-
},
2505-
},
2506-
NodePortIngressRuleCidrBlocks: []string{"10.0.0.0/16", "2001:1234:5678:9a40::/56"},
2507-
},
2508-
},
2509-
Status: infrav1.AWSClusterStatus{
2510-
Network: infrav1.NetworkStatus{
2511-
SecurityGroups: map[infrav1.SecurityGroupRole]infrav1.SecurityGroup{
2512-
infrav1.SecurityGroupControlPlane: {ID: "Id1"},
2513-
infrav1.SecurityGroupNode: {ID: "Id2"},
2514-
},
2444+
networkSpecOverride: infrav1.NetworkSpec{
2445+
VPC: infrav1.VPCSpec{
2446+
CidrBlock: "10.0.0.0/16",
2447+
IPv6: &infrav1.IPv6{
2448+
CidrBlock: "2001:1234:5678:9a40::/56",
25152449
},
25162450
},
2451+
NodePortIngressRuleCidrBlocks: []string{"10.0.0.0/16", "2001:1234:5678:9a40::/56"},
25172452
},
25182453
expectedIngresRules: infrav1.IngressRules{
25192454
{
@@ -2542,7 +2477,20 @@ func TestNodePortServicesIngressRules(t *testing.T) {
25422477
Cluster: &clusterv1.Cluster{
25432478
ObjectMeta: metav1.ObjectMeta{Name: "test-cluster"},
25442479
},
2545-
AWSCluster: tc.awsCluster,
2480+
AWSCluster: &infrav1.AWSCluster{
2481+
Spec: infrav1.AWSClusterSpec{
2482+
ControlPlaneLoadBalancer: &infrav1.AWSLoadBalancerSpec{},
2483+
NetworkSpec: tc.networkSpecOverride,
2484+
},
2485+
Status: infrav1.AWSClusterStatus{
2486+
Network: infrav1.NetworkStatus{
2487+
SecurityGroups: map[infrav1.SecurityGroupRole]infrav1.SecurityGroup{
2488+
infrav1.SecurityGroupControlPlane: {ID: "Id1"},
2489+
infrav1.SecurityGroupNode: {ID: "Id2"},
2490+
},
2491+
},
2492+
},
2493+
},
25462494
})
25472495
if err != nil {
25482496
t.Fatalf("Failed to create test context: %v", err)

0 commit comments

Comments
 (0)