Skip to content

Commit ce9b441

Browse files
committed
WIP - AllNodes security groups API
1 parent 47b87c8 commit ce9b441

18 files changed

+984
-169
lines changed

api/v1alpha5/conversion.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -522,3 +522,7 @@ func Convert_v1alpha5_Bastion_To_v1alpha8_Bastion(in *Bastion, out *infrav1.Bast
522522
in.Instance.FloatingIP = out.FloatingIP
523523
return nil
524524
}
525+
526+
func Convert_v1alpha8_SecurityGroupRule_To_v1alpha5_SecurityGroupRule(in *infrav1.SecurityGroupRule, out *SecurityGroupRule, s conversion.Scope) error {
527+
return autoConvert_v1alpha8_SecurityGroupRule_To_v1alpha5_SecurityGroupRule(in, out, s)
528+
}

api/v1alpha5/conversion_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ func TestConvertFrom(t *testing.T) {
4949
Spec: OpenStackClusterSpec{},
5050
ObjectMeta: metav1.ObjectMeta{
5151
Annotations: map[string]string{
52-
"cluster.x-k8s.io/conversion-data": "{\"spec\":{\"allowAllInClusterTraffic\":false,\"apiServerLoadBalancer\":{},\"cloudName\":\"\",\"controlPlaneEndpoint\":{\"host\":\"\",\"port\":0},\"disableAPIServerFloatingIP\":false,\"disableExternalNetwork\":false,\"externalNetwork\":{},\"managedSecurityGroups\":false,\"network\":{},\"subnet\":{}},\"status\":{\"ready\":false}}",
52+
"cluster.x-k8s.io/conversion-data": "{\"spec\":{\"allowAllInClusterTraffic\":false,\"apiServerLoadBalancer\":{},\"cloudName\":\"\",\"controlPlaneEndpoint\":{\"host\":\"\",\"port\":0},\"disableAPIServerFloatingIP\":false,\"disableExternalNetwork\":false,\"externalNetwork\":{},\"network\":{},\"subnet\":{}},\"status\":{\"ready\":false}}",
5353
},
5454
},
5555
},
@@ -64,7 +64,7 @@ func TestConvertFrom(t *testing.T) {
6464
Spec: OpenStackClusterTemplateSpec{},
6565
ObjectMeta: metav1.ObjectMeta{
6666
Annotations: map[string]string{
67-
"cluster.x-k8s.io/conversion-data": "{\"spec\":{\"template\":{\"spec\":{\"allowAllInClusterTraffic\":false,\"apiServerLoadBalancer\":{},\"cloudName\":\"\",\"controlPlaneEndpoint\":{\"host\":\"\",\"port\":0},\"disableAPIServerFloatingIP\":false,\"disableExternalNetwork\":false,\"externalNetwork\":{},\"managedSecurityGroups\":false,\"network\":{},\"subnet\":{}}}}}",
67+
"cluster.x-k8s.io/conversion-data": "{\"spec\":{\"template\":{\"spec\":{\"allowAllInClusterTraffic\":false,\"apiServerLoadBalancer\":{},\"cloudName\":\"\",\"controlPlaneEndpoint\":{\"host\":\"\",\"port\":0},\"disableAPIServerFloatingIP\":false,\"disableExternalNetwork\":false,\"externalNetwork\":{},\"network\":{},\"subnet\":{}}}}}",
6868
},
6969
},
7070
},

api/v1alpha5/zz_generated.conversion.go

Lines changed: 84 additions & 20 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

api/v1alpha6/conversion.go

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,11 @@ var v1alpha6OpenStackClusterRestorer = conversion.RestorerFor[*OpenStackCluster]
128128
}
129129

130130
var v1alpha8OpenStackClusterRestorer = conversion.RestorerFor[*infrav1.OpenStackCluster]{
131+
"managedSecurityGroups": conversion.UnconditionalFieldRestorer(
132+
func(c *infrav1.OpenStackCluster) **infrav1.SecurityGroupsSpec {
133+
return &c.Spec.ManagedSecurityGroups
134+
},
135+
),
131136
"externalNetwork": conversion.UnconditionalFieldRestorer(
132137
func(c *infrav1.OpenStackCluster) *infrav1.NetworkFilter {
133138
return &c.Spec.ExternalNetwork
@@ -208,6 +213,11 @@ var v1alpha6OpenStackClusterTemplateRestorer = conversion.RestorerFor[*OpenStack
208213
}
209214

210215
var v1alpha8OpenStackClusterTemplateRestorer = conversion.RestorerFor[*infrav1.OpenStackClusterTemplate]{
216+
"managedSecurityGroups": conversion.UnconditionalFieldRestorer(
217+
func(c *infrav1.OpenStackClusterTemplate) **infrav1.SecurityGroupsSpec {
218+
return &c.Spec.Template.Spec.ManagedSecurityGroups
219+
},
220+
),
211221
"externalNetwork": conversion.UnconditionalFieldRestorer(
212222
func(c *infrav1.OpenStackClusterTemplate) *infrav1.NetworkFilter {
213223
return &c.Spec.Template.Spec.ExternalNetwork
@@ -486,6 +496,10 @@ func Convert_v1alpha8_OpenStackClusterSpec_To_v1alpha6_OpenStackClusterSpec(in *
486496
out.ExternalNetworkID = in.ExternalNetwork.ID
487497
}
488498

499+
if in.ManagedSecurityGroups != nil && in.ManagedSecurityGroups.Enabled {
500+
out.ManagedSecurityGroups = true
501+
}
502+
489503
return nil
490504
}
491505

@@ -501,6 +515,12 @@ func Convert_v1alpha6_OpenStackClusterSpec_To_v1alpha8_OpenStackClusterSpec(in *
501515
}
502516
}
503517

518+
if in.ManagedSecurityGroups {
519+
out.ManagedSecurityGroups = &infrav1.SecurityGroupsSpec{
520+
Enabled: true,
521+
}
522+
}
523+
504524
return nil
505525
}
506526

@@ -780,3 +800,12 @@ func Convert_v1alpha8_Bastion_To_v1alpha6_Bastion(in *infrav1.Bastion, out *Bast
780800
out.Instance.FloatingIP = in.FloatingIP
781801
return nil
782802
}
803+
804+
func Convert_v1alpha8_SecurityGroupRule_To_v1alpha6_SecurityGroupRule(in *infrav1.SecurityGroupRule, out *SecurityGroupRule, s apiconversion.Scope) error {
805+
err := autoConvert_v1alpha8_SecurityGroupRule_To_v1alpha6_SecurityGroupRule(in, out, s)
806+
if err != nil {
807+
return err
808+
}
809+
810+
return nil
811+
}

0 commit comments

Comments
 (0)