Skip to content

Commit c4d985b

Browse files
committed
SubnetFilter to SubnetParam
1 parent de67a45 commit c4d985b

27 files changed

+1256
-738
lines changed

api/v1alpha5/conversion.go

Lines changed: 43 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -217,7 +217,7 @@ func Convert_v1beta1_OpenStackClusterSpec_To_v1alpha5_OpenStackClusterSpec(in *i
217217

218218
if in.Subnets != nil {
219219
if len(in.Subnets) >= 1 {
220-
if err := Convert_v1beta1_SubnetFilter_To_v1alpha5_SubnetFilter(&in.Subnets[0], &out.Subnet, s); err != nil {
220+
if err := Convert_v1beta1_SubnetParam_To_v1alpha5_SubnetFilter(&in.Subnets[0], &out.Subnet, s); err != nil {
221221
return err
222222
}
223223
}
@@ -254,11 +254,11 @@ func Convert_v1alpha5_OpenStackClusterSpec_To_v1beta1_OpenStackClusterSpec(in *O
254254

255255
emptySubnet := SubnetFilter{}
256256
if in.Subnet != emptySubnet {
257-
subnet := infrav1.SubnetFilter{}
258-
if err := Convert_v1alpha5_SubnetFilter_To_v1beta1_SubnetFilter(&in.Subnet, &subnet, s); err != nil {
257+
subnet := infrav1.SubnetParam{}
258+
if err := Convert_v1alpha5_SubnetFilter_To_v1beta1_SubnetParam(&in.Subnet, &subnet, s); err != nil {
259259
return err
260260
}
261-
out.Subnets = []infrav1.SubnetFilter{subnet}
261+
out.Subnets = []infrav1.SubnetParam{subnet}
262262
}
263263

264264
if len(in.NodeCIDR) > 0 {
@@ -547,25 +547,56 @@ func Convert_v1beta1_SecurityGroupFilter_To_v1alpha5_SecurityGroupParam(in *infr
547547
return nil
548548
}
549549

550-
func Convert_v1alpha5_SubnetParam_To_v1beta1_SubnetFilter(in *SubnetParam, out *infrav1.SubnetFilter, s conversion.Scope) error {
551-
if err := Convert_v1alpha5_SubnetFilter_To_v1beta1_SubnetFilter(&in.Filter, out, s); err != nil {
550+
func Convert_v1alpha5_SubnetParam_To_v1beta1_SubnetParam(in *SubnetParam, out *infrav1.SubnetParam, s conversion.Scope) error {
551+
if in.UUID != "" {
552+
out.ID = &in.UUID
553+
return nil
554+
}
555+
outFilter := &infrav1.SubnetFilter{}
556+
if err := Convert_v1alpha5_SubnetFilter_To_v1beta1_SubnetFilter(&in.Filter, outFilter, s); err != nil {
552557
return err
553558
}
554-
if in.UUID != "" {
555-
out.ID = in.UUID
559+
if !outFilter.IsZero() {
560+
out.Filter = outFilter
556561
}
557562
return nil
558563
}
559564

560-
func Convert_v1beta1_SubnetFilter_To_v1alpha5_SubnetParam(in *infrav1.SubnetFilter, out *SubnetParam, s conversion.Scope) error {
561-
if err := Convert_v1beta1_SubnetFilter_To_v1alpha5_SubnetFilter(in, &out.Filter, s); err != nil {
562-
return err
565+
func Convert_v1beta1_SubnetParam_To_v1alpha5_SubnetParam(in *infrav1.SubnetParam, out *SubnetParam, s conversion.Scope) error {
566+
if in.ID != nil {
567+
out.UUID = *in.ID
568+
return nil
569+
}
570+
571+
if in.Filter != nil {
572+
if err := Convert_v1beta1_SubnetFilter_To_v1alpha5_SubnetFilter(in.Filter, &out.Filter, s); err != nil {
573+
return err
574+
}
563575
}
564-
out.UUID = in.ID
565576

566577
return nil
567578
}
568579

580+
func Convert_v1alpha5_SubnetFilter_To_v1beta1_SubnetParam(in *SubnetFilter, out *infrav1.SubnetParam, s conversion.Scope) error {
581+
if in.ID != "" {
582+
out.ID = &in.ID
583+
return nil
584+
}
585+
out.Filter = &infrav1.SubnetFilter{}
586+
return Convert_v1alpha5_SubnetFilter_To_v1beta1_SubnetFilter(in, out.Filter, s)
587+
}
588+
589+
func Convert_v1beta1_SubnetParam_To_v1alpha5_SubnetFilter(in *infrav1.SubnetParam, out *SubnetFilter, s conversion.Scope) error {
590+
if in.ID != nil {
591+
out.ID = *in.ID
592+
return nil
593+
}
594+
if in.Filter != nil {
595+
return Convert_v1beta1_SubnetFilter_To_v1alpha5_SubnetFilter(in.Filter, out, s)
596+
}
597+
return nil
598+
}
599+
569600
func Convert_Map_string_To_Interface_To_v1beta1_BindingProfile(in map[string]string, out *infrav1.BindingProfile, _ conversion.Scope) error {
570601
for k, v := range in {
571602
if k == "capabilities" {

api/v1alpha5/zz_generated.conversion.go

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

api/v1alpha6/conversion_test.go

Lines changed: 56 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ func TestFuzzyConversion(t *testing.T) {
117117
// length 1, but we need to also test length 2.
118118
// Ensure it is occasionally generated.
119119
if len(spec.Subnets) == 1 && c.RandBool() {
120-
subnet := infrav1.SubnetFilter{}
120+
subnet := infrav1.SubnetParam{}
121121
c.FuzzNoCustom(&subnet)
122122
spec.Subnets = append(spec.Subnets, subnet)
123123
}
@@ -230,6 +230,25 @@ func TestFuzzyConversion(t *testing.T) {
230230
param.ID = nil
231231
}
232232
},
233+
234+
// v1beta1 subnet param contains exactly one of ID or filter
235+
func(param *infrav1.SubnetParam, c fuzz.Continue) {
236+
if c.RandBool() {
237+
id := func() string {
238+
for {
239+
s := c.RandString()
240+
if len(s) > 0 {
241+
return s
242+
}
243+
}
244+
}()
245+
param.ID = &id
246+
} else {
247+
filter := &infrav1.SubnetFilter{}
248+
c.Fuzz(filter)
249+
param.Filter = filter
250+
}
251+
},
233252
}
234253
}
235254

@@ -393,8 +412,8 @@ func TestNetworksToPorts(t *testing.T) {
393412
},
394413
FixedIPs: []infrav1.FixedIP{
395414
{
396-
Subnet: &infrav1.SubnetFilter{
397-
ID: subnetuuid,
415+
Subnet: &infrav1.SubnetParam{
416+
ID: pointer.String(subnetuuid),
398417
},
399418
},
400419
},
@@ -437,20 +456,22 @@ func TestNetworksToPorts(t *testing.T) {
437456
},
438457
FixedIPs: []infrav1.FixedIP{
439458
{
440-
Subnet: &infrav1.SubnetFilter{
441-
Name: "subnet-name",
442-
Description: "subnet-description",
443-
ProjectID: "project-id",
444-
IPVersion: 6,
445-
GatewayIP: "x.x.x.x",
446-
CIDR: "y.y.y.y",
447-
IPv6AddressMode: "address-mode",
448-
IPv6RAMode: "ra-mode",
449-
FilterByNeutronTags: infrav1.FilterByNeutronTags{
450-
Tags: []infrav1.NeutronTag{"tags"},
451-
TagsAny: []infrav1.NeutronTag{"tags-any"},
452-
NotTags: []infrav1.NeutronTag{"not-tags"},
453-
NotTagsAny: []infrav1.NeutronTag{"not-tags-any"},
459+
Subnet: &infrav1.SubnetParam{
460+
Filter: &infrav1.SubnetFilter{
461+
Name: "subnet-name",
462+
Description: "subnet-description",
463+
ProjectID: "project-id",
464+
IPVersion: 6,
465+
GatewayIP: "x.x.x.x",
466+
CIDR: "y.y.y.y",
467+
IPv6AddressMode: "address-mode",
468+
IPv6RAMode: "ra-mode",
469+
FilterByNeutronTags: infrav1.FilterByNeutronTags{
470+
Tags: []infrav1.NeutronTag{"tags"},
471+
TagsAny: []infrav1.NeutronTag{"tags-any"},
472+
NotTags: []infrav1.NeutronTag{"not-tags"},
473+
NotTagsAny: []infrav1.NeutronTag{"not-tags-any"},
474+
},
454475
},
455476
},
456477
},
@@ -497,8 +518,8 @@ func TestNetworksToPorts(t *testing.T) {
497518
},
498519
FixedIPs: []infrav1.FixedIP{
499520
{
500-
Subnet: &infrav1.SubnetFilter{
501-
ID: subnetuuid,
521+
Subnet: &infrav1.SubnetParam{
522+
ID: pointer.String(subnetuuid),
502523
},
503524
},
504525
},
@@ -509,20 +530,22 @@ func TestNetworksToPorts(t *testing.T) {
509530
},
510531
FixedIPs: []infrav1.FixedIP{
511532
{
512-
Subnet: &infrav1.SubnetFilter{
513-
Name: "subnet-name",
514-
Description: "subnet-description",
515-
ProjectID: "project-id",
516-
IPVersion: 6,
517-
GatewayIP: "x.x.x.x",
518-
CIDR: "y.y.y.y",
519-
IPv6AddressMode: "address-mode",
520-
IPv6RAMode: "ra-mode",
521-
FilterByNeutronTags: infrav1.FilterByNeutronTags{
522-
Tags: []infrav1.NeutronTag{"tags"},
523-
TagsAny: []infrav1.NeutronTag{"tags-any"},
524-
NotTags: []infrav1.NeutronTag{"not-tags"},
525-
NotTagsAny: []infrav1.NeutronTag{"not-tags-any"},
533+
Subnet: &infrav1.SubnetParam{
534+
Filter: &infrav1.SubnetFilter{
535+
Name: "subnet-name",
536+
Description: "subnet-description",
537+
ProjectID: "project-id",
538+
IPVersion: 6,
539+
GatewayIP: "x.x.x.x",
540+
CIDR: "y.y.y.y",
541+
IPv6AddressMode: "address-mode",
542+
IPv6RAMode: "ra-mode",
543+
FilterByNeutronTags: infrav1.FilterByNeutronTags{
544+
Tags: []infrav1.NeutronTag{"tags"},
545+
TagsAny: []infrav1.NeutronTag{"tags-any"},
546+
NotTags: []infrav1.NeutronTag{"not-tags"},
547+
NotTagsAny: []infrav1.NeutronTag{"not-tags-any"},
548+
},
526549
},
527550
},
528551
},

api/v1alpha6/openstackcluster_conversion.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ func restorev1alpha6ClusterSpec(previous *OpenStackClusterSpec, dst *OpenStackCl
152152

153153
if len(dst.ExternalRouterIPs) == len(previous.ExternalRouterIPs) {
154154
for i := range dst.ExternalRouterIPs {
155-
restorev1alpha6SubnetFilter(&previous.ExternalRouterIPs[i].Subnet.Filter, &dst.ExternalRouterIPs[i].Subnet.Filter)
155+
restorev1alpha6SubnetParam(&previous.ExternalRouterIPs[i].Subnet, &dst.ExternalRouterIPs[i].Subnet)
156156
}
157157
}
158158

@@ -232,11 +232,11 @@ func Convert_v1alpha6_OpenStackClusterSpec_To_v1beta1_OpenStackClusterSpec(in *O
232232

233233
emptySubnet := SubnetFilter{}
234234
if in.Subnet != emptySubnet {
235-
subnet := infrav1.SubnetFilter{}
236-
if err := Convert_v1alpha6_SubnetFilter_To_v1beta1_SubnetFilter(&in.Subnet, &subnet, s); err != nil {
235+
subnet := infrav1.SubnetParam{}
236+
if err := Convert_v1alpha6_SubnetFilter_To_v1beta1_SubnetParam(&in.Subnet, &subnet, s); err != nil {
237237
return err
238238
}
239-
out.Subnets = []infrav1.SubnetFilter{subnet}
239+
out.Subnets = []infrav1.SubnetParam{subnet}
240240
}
241241

242242
// DNSNameservers without NodeCIDR doesn't make sense, so we drop that.
@@ -295,7 +295,7 @@ func Convert_v1beta1_OpenStackClusterSpec_To_v1alpha6_OpenStackClusterSpec(in *i
295295
}
296296

297297
if len(in.Subnets) >= 1 {
298-
if err := Convert_v1beta1_SubnetFilter_To_v1alpha6_SubnetFilter(&in.Subnets[0], &out.Subnet, s); err != nil {
298+
if err := Convert_v1beta1_SubnetParam_To_v1alpha6_SubnetFilter(&in.Subnets[0], &out.Subnet, s); err != nil {
299299
return err
300300
}
301301
}

api/v1alpha6/openstackmachine_conversion.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -223,18 +223,18 @@ func convertNetworksToPorts(networks []NetworkParam, s apiconversion.Scope) ([]i
223223
ports = append(ports, infrav1.PortOpts{
224224
Network: networkFilter,
225225
FixedIPs: []infrav1.FixedIP{
226-
{Subnet: &infrav1.SubnetFilter{ID: subnet.UUID}},
226+
{Subnet: &infrav1.SubnetParam{ID: &subnet.UUID}},
227227
},
228228
})
229229
} else {
230-
subnetFilter := &infrav1.SubnetFilter{}
231-
if err := Convert_v1alpha6_SubnetFilter_To_v1beta1_SubnetFilter(&subnet.Filter, subnetFilter, s); err != nil {
230+
subnetParam := &infrav1.SubnetParam{}
231+
if err := Convert_v1alpha6_SubnetFilter_To_v1beta1_SubnetParam(&subnet.Filter, subnetParam, s); err != nil {
232232
return nil, err
233233
}
234234
ports = append(ports, infrav1.PortOpts{
235235
Network: networkFilter,
236236
FixedIPs: []infrav1.FixedIP{
237-
{Subnet: subnetFilter},
237+
{Subnet: subnetParam},
238238
},
239239
})
240240
}

0 commit comments

Comments
 (0)