Skip to content

Commit 8ee1fdd

Browse files
committed
update v1alpha3 to v1beta1 conversion with embedded types
1 parent d18fc7e commit 8ee1fdd

File tree

3 files changed

+168
-74
lines changed

3 files changed

+168
-74
lines changed

api/v1alpha3/azurecluster_conversion.go

Lines changed: 124 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,9 @@ func (src *AzureCluster) ConvertTo(dstRaw conversion.Hub) error { // nolint
5858
// set default control plane outbound lb for private v1alpha3 clusters
5959
if src.Spec.NetworkSpec.APIServerLB.Type == Internal && restored.Spec.NetworkSpec.ControlPlaneOutboundLB == nil {
6060
dst.Spec.NetworkSpec.ControlPlaneOutboundLB = &infrav1beta1.LoadBalancerSpec{
61-
FrontendIPsCount: pointer.Int32Ptr(1),
61+
LoadBalancerClassSpec: infrav1beta1.LoadBalancerClassSpec{
62+
FrontendIPsCount: pointer.Int32Ptr(1),
63+
},
6264
}
6365
} else {
6466
dst.Spec.NetworkSpec.ControlPlaneOutboundLB = restored.Spec.NetworkSpec.ControlPlaneOutboundLB
@@ -67,7 +69,9 @@ func (src *AzureCluster) ConvertTo(dstRaw conversion.Hub) error { // nolint
6769
// set default node plane outbound lb for all v1alpha3 clusters
6870
if restored.Spec.NetworkSpec.NodeOutboundLB == nil {
6971
dst.Spec.NetworkSpec.NodeOutboundLB = &infrav1beta1.LoadBalancerSpec{
70-
FrontendIPsCount: pointer.Int32Ptr(1),
72+
LoadBalancerClassSpec: infrav1beta1.LoadBalancerClassSpec{
73+
FrontendIPsCount: pointer.Int32Ptr(1),
74+
},
7175
}
7276
} else {
7377
dst.Spec.NetworkSpec.NodeOutboundLB = restored.Spec.NetworkSpec.NodeOutboundLB
@@ -115,6 +119,7 @@ func (dst *AzureCluster) ConvertFrom(srcRaw conversion.Hub) error { // nolint
115119
}
116120
dst.Annotations[azureEnvironmentAnnotation] = src.Spec.AzureEnvironment
117121
}
122+
118123
// Preserve Hub data on down-conversion.
119124
if err := utilconversion.MarshalData(src, dst); err != nil {
120125
return err
@@ -150,6 +155,12 @@ func Convert_v1alpha3_AzureClusterSpec_To_v1beta1_AzureClusterSpec(in *AzureClus
150155
return err
151156
}
152157

158+
// copy AzureClusterClassSpec fields
159+
out.SubscriptionID = in.SubscriptionID
160+
out.Location = in.Location
161+
out.AdditionalTags = *(*infrav1beta1.Tags)(&in.AdditionalTags)
162+
out.IdentityRef = in.IdentityRef
163+
153164
return nil
154165
}
155166

@@ -159,6 +170,12 @@ func Convert_v1beta1_AzureClusterSpec_To_v1alpha3_AzureClusterSpec(in *infrav1be
159170
return err
160171
}
161172

173+
// copy AzureClusterClassSpec fields
174+
out.SubscriptionID = in.SubscriptionID
175+
out.Location = in.Location
176+
out.AdditionalTags = Tags(*&in.AdditionalTags)
177+
out.IdentityRef = in.IdentityRef
178+
162179
return nil
163180
}
164181

@@ -185,7 +202,7 @@ func Convert_v1alpha3_NetworkSpec_To_v1beta1_NetworkSpec(in *NetworkSpec, out *i
185202
}
186203
}
187204

188-
if err := autoConvert_v1alpha3_LoadBalancerSpec_To_v1beta1_LoadBalancerSpec(&in.APIServerLB, &out.APIServerLB, s); err != nil {
205+
if err := Convert_v1alpha3_LoadBalancerSpec_To_v1beta1_LoadBalancerSpec(&in.APIServerLB, &out.APIServerLB, s); err != nil {
189206
return err
190207
}
191208
return nil
@@ -205,25 +222,49 @@ func Convert_v1beta1_NetworkSpec_To_v1alpha3_NetworkSpec(in *infrav1beta1.Networ
205222
}
206223
}
207224

208-
if err := autoConvert_v1beta1_LoadBalancerSpec_To_v1alpha3_LoadBalancerSpec(&in.APIServerLB, &out.APIServerLB, s); err != nil {
225+
if err := Convert_v1beta1_LoadBalancerSpec_To_v1alpha3_LoadBalancerSpec(&in.APIServerLB, &out.APIServerLB, s); err != nil {
209226
return err
210227
}
211228
return nil
212229
}
213230

214231
// Convert_v1beta1_VnetSpec_To_v1alpha3_VnetSpec.
215232
func Convert_v1beta1_VnetSpec_To_v1alpha3_VnetSpec(in *infrav1beta1.VnetSpec, out *VnetSpec, s apiconversion.Scope) error { //nolint
216-
return autoConvert_v1beta1_VnetSpec_To_v1alpha3_VnetSpec(in, out, s)
233+
if err := autoConvert_v1beta1_VnetSpec_To_v1alpha3_VnetSpec(in, out, s); err != nil {
234+
return err
235+
}
236+
237+
// copy VnetClassSpec fields
238+
out.CIDRBlocks = *(&in.CIDRBlocks)
239+
out.Tags = Tags(*&in.Tags)
240+
241+
return nil
217242
}
218243

219244
// Convert_v1alpha3_SubnetSpec_To_v1beta1_SubnetSpec.
220245
func Convert_v1alpha3_SubnetSpec_To_v1beta1_SubnetSpec(in *SubnetSpec, out *infrav1beta1.SubnetSpec, s apiconversion.Scope) error { //nolint
221-
return autoConvert_v1alpha3_SubnetSpec_To_v1beta1_SubnetSpec(in, out, s)
246+
if err := autoConvert_v1alpha3_SubnetSpec_To_v1beta1_SubnetSpec(in, out, s); err != nil {
247+
return err
248+
}
249+
250+
// Convert SubnetClassSpec fields
251+
out.Role = infrav1beta1.SubnetRole(in.Role)
252+
out.CIDRBlocks = *(&in.CIDRBlocks)
253+
254+
return nil
222255
}
223256

224257
// Convert_v1beta1_SubnetSpec_To_v1alpha3_SubnetSpec.
225258
func Convert_v1beta1_SubnetSpec_To_v1alpha3_SubnetSpec(in *infrav1beta1.SubnetSpec, out *SubnetSpec, s apiconversion.Scope) error { //nolint
226-
return autoConvert_v1beta1_SubnetSpec_To_v1alpha3_SubnetSpec(in, out, s)
259+
if err := autoConvert_v1beta1_SubnetSpec_To_v1alpha3_SubnetSpec(in, out, s); err != nil {
260+
return err
261+
}
262+
263+
// Convert SubnetClassSpec fields
264+
out.Role = SubnetRole(in.Role)
265+
out.CIDRBlocks = *(&in.CIDRBlocks)
266+
267+
return nil
227268
}
228269

229270
func Convert_v1beta1_SecurityGroup_To_v1alpha3_SecurityGroup(in *infrav1beta1.SecurityGroup, out *SecurityGroup, s apiconversion.Scope) error {
@@ -290,12 +331,62 @@ func Convert_v1beta1_SecurityRule_To_v1alpha3_IngressRule(in *infrav1beta1.Secur
290331

291332
// Convert_v1alpha3_VnetSpec_To_v1beta1_VnetSpec is an autogenerated conversion function.
292333
func Convert_v1alpha3_VnetSpec_To_v1beta1_VnetSpec(in *VnetSpec, out *infrav1beta1.VnetSpec, s apiconversion.Scope) error {
293-
return autoConvert_v1alpha3_VnetSpec_To_v1beta1_VnetSpec(in, out, s)
334+
if err := autoConvert_v1alpha3_VnetSpec_To_v1beta1_VnetSpec(in, out, s); err != nil {
335+
return err
336+
}
337+
338+
// copy VnetClassSpec fields
339+
out.CIDRBlocks = *(&in.CIDRBlocks)
340+
out.Tags = *(*infrav1beta1.Tags)(&in.Tags)
341+
342+
return nil
294343
}
295344

296345
// Convert_v1beta1_LoadBalancerSpec_To_v1alpha3_LoadBalancerSpec is an autogenerated conversion function.
297346
func Convert_v1beta1_LoadBalancerSpec_To_v1alpha3_LoadBalancerSpec(in *infrav1beta1.LoadBalancerSpec, out *LoadBalancerSpec, s apiconversion.Scope) error {
298-
return autoConvert_v1beta1_LoadBalancerSpec_To_v1alpha3_LoadBalancerSpec(in, out, s)
347+
if err := autoConvert_v1beta1_LoadBalancerSpec_To_v1alpha3_LoadBalancerSpec(in, out, s); err != nil {
348+
return err
349+
}
350+
351+
// Convert LoadBalancerClassSpec fields
352+
out.SKU = SKU(in.SKU)
353+
if in.FrontendIPs != nil {
354+
in, out := &in.FrontendIPs, &out.FrontendIPs
355+
*out = make([]FrontendIP, len(*in))
356+
for i := range *in {
357+
if err := Convert_v1beta1_FrontendIP_To_v1alpha3_FrontendIP(&(*in)[i], &(*out)[i], s); err != nil {
358+
return err
359+
}
360+
}
361+
} else {
362+
out.FrontendIPs = nil
363+
}
364+
out.Type = LBType(in.Type)
365+
366+
return nil
367+
}
368+
369+
func Convert_v1alpha3_LoadBalancerSpec_To_v1beta1_LoadBalancerSpec(in *LoadBalancerSpec, out *infrav1beta1.LoadBalancerSpec, s apiconversion.Scope) error {
370+
if err := autoConvert_v1alpha3_LoadBalancerSpec_To_v1beta1_LoadBalancerSpec(in, out, s); err != nil {
371+
return err
372+
}
373+
374+
// Convert LoadBalancerClassSpec fields
375+
out.SKU = infrav1beta1.SKU(in.SKU)
376+
if in.FrontendIPs != nil {
377+
in, out := &in.FrontendIPs, &out.FrontendIPs
378+
*out = make([]infrav1beta1.FrontendIP, len(*in))
379+
for i := range *in {
380+
if err := Convert_v1alpha3_FrontendIP_To_v1beta1_FrontendIP(&(*in)[i], &(*out)[i], s); err != nil {
381+
return err
382+
}
383+
}
384+
} else {
385+
out.FrontendIPs = nil
386+
}
387+
out.Type = infrav1beta1.LBType(in.Type)
388+
389+
return nil
299390
}
300391

301392
// Convert_v1alpha3_Future_To_v1beta1_Future is an autogenerated conversion function.
@@ -309,3 +400,27 @@ func Convert_v1beta1_Future_To_v1alpha3_Future(in *infrav1beta1.Future, out *Fut
309400
out.FutureData = in.Data
310401
return autoConvert_v1beta1_Future_To_v1alpha3_Future(in, out, s)
311402
}
403+
404+
// Convert_v1alpha3_FrontendIP_To_v1beta1_FrontendIP is an autogenerated conversion function.
405+
func Convert_v1alpha3_FrontendIP_To_v1beta1_FrontendIP(in *FrontendIP, out *infrav1beta1.FrontendIP, s apiconversion.Scope) error {
406+
if err := autoConvert_v1alpha3_FrontendIP_To_v1beta1_FrontendIP(in, out, s); err != nil {
407+
return err
408+
}
409+
410+
// Convert FrontendIPClass fields
411+
out.PrivateIPAddress = in.PrivateIPAddress
412+
413+
return nil
414+
}
415+
416+
// Convert_v1beta1_FrontendIP_To_v1alpha3_FrontendIP is an autogenerated conversion function.
417+
func Convert_v1beta1_FrontendIP_To_v1alpha3_FrontendIP(in *infrav1beta1.FrontendIP, out *FrontendIP, s apiconversion.Scope) error {
418+
if err := autoConvert_v1beta1_FrontendIP_To_v1alpha3_FrontendIP(in, out, s); err != nil {
419+
return err
420+
}
421+
422+
// Convert FrontendIPClass fields
423+
out.PrivateIPAddress = in.PrivateIPAddress
424+
425+
return nil
426+
}

api/v1alpha3/conversion_test.go

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -87,8 +87,14 @@ func overrideDeprecatedAndRemovedFieldsFuncs(codecs runtimeserializer.CodecFacto
8787
func overrideOutboundLBFunc(codecs runtimeserializer.CodecFactory) []interface{} {
8888
return []interface{}{
8989
func(networkSpec *v1beta1.NetworkSpec, c fuzz.Continue) {
90-
networkSpec.ControlPlaneOutboundLB = &v1beta1.LoadBalancerSpec{FrontendIPsCount: pointer.Int32Ptr(1)}
91-
networkSpec.NodeOutboundLB = &v1beta1.LoadBalancerSpec{FrontendIPsCount: pointer.Int32Ptr(1)}
90+
networkSpec.ControlPlaneOutboundLB = &v1beta1.LoadBalancerSpec{
91+
LoadBalancerClassSpec: v1beta1.LoadBalancerClassSpec{
92+
FrontendIPsCount: pointer.Int32Ptr(1)},
93+
}
94+
networkSpec.NodeOutboundLB = &v1beta1.LoadBalancerSpec{
95+
LoadBalancerClassSpec: v1beta1.LoadBalancerClassSpec{
96+
FrontendIPsCount: pointer.Int32Ptr(1)},
97+
}
9298
},
9399
}
94100
}

0 commit comments

Comments
 (0)