Skip to content

Commit f968786

Browse files
authored
Merge pull request #1577 from shiftstack/networkstatus
⚠️ Update NetworkStatus ready for dual stack
2 parents 9129fdb + 802654e commit f968786

17 files changed

+455
-391
lines changed

api/v1alpha5/conversion.go

Lines changed: 70 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -212,26 +212,6 @@ func Convert_v1alpha7_PortOpts_To_v1alpha5_PortOpts(in *infrav1.PortOpts, out *P
212212
return nil
213213
}
214214

215-
func Convert_Slice_v1alpha5_Network_To_Slice_v1alpha7_Network(in *[]Network, out *[]infrav1.Network, s conversion.Scope) error {
216-
*out = make([]infrav1.Network, len(*in))
217-
for i := range *in {
218-
if err := Convert_v1alpha5_Network_To_v1alpha7_Network(&(*in)[i], &(*out)[i], s); err != nil {
219-
return err
220-
}
221-
}
222-
return nil
223-
}
224-
225-
func Convert_Slice_v1alpha7_Network_To_Slice_v1alpha5_Network(in *[]infrav1.Network, out *[]Network, s conversion.Scope) error {
226-
*out = make([]Network, len(*in))
227-
for i := range *in {
228-
if err := Convert_v1alpha7_Network_To_v1alpha5_Network(&(*in)[i], &(*out)[i], s); err != nil {
229-
return err
230-
}
231-
}
232-
return nil
233-
}
234-
235215
func Convert_v1alpha5_OpenStackMachineSpec_To_v1alpha7_OpenStackMachineSpec(in *OpenStackMachineSpec, out *infrav1.OpenStackMachineSpec, s conversion.Scope) error {
236216
return autoConvert_v1alpha5_OpenStackMachineSpec_To_v1alpha7_OpenStackMachineSpec(in, out, s)
237217
}
@@ -280,9 +260,31 @@ func Convert_v1alpha7_BastionStatus_To_v1alpha5_Instance(in *infrav1.BastionStat
280260
return nil
281261
}
282262

283-
func Convert_v1alpha5_Network_To_v1alpha7_Network(in *Network, out *infrav1.Network, s conversion.Scope) error {
263+
func Convert_v1alpha5_Network_To_v1alpha7_NetworkStatusWithSubnets(in *Network, out *infrav1.NetworkStatusWithSubnets, s conversion.Scope) error {
284264
// PortOpts has been removed in v1alpha7
285-
return autoConvert_v1alpha5_Network_To_v1alpha7_Network(in, out, s)
265+
err := Convert_v1alpha5_Network_To_v1alpha7_NetworkStatus(in, &out.NetworkStatus, s)
266+
if err != nil {
267+
return err
268+
}
269+
270+
if in.Subnet != nil {
271+
out.Subnets = []infrav1.Subnet{infrav1.Subnet(*in.Subnet)}
272+
}
273+
return nil
274+
}
275+
276+
func Convert_v1alpha7_NetworkStatusWithSubnets_To_v1alpha5_Network(in *infrav1.NetworkStatusWithSubnets, out *Network, s conversion.Scope) error {
277+
// PortOpts has been removed in v1alpha7
278+
err := Convert_v1alpha7_NetworkStatus_To_v1alpha5_Network(&in.NetworkStatus, out, s)
279+
if err != nil {
280+
return err
281+
}
282+
283+
// Can only down-convert a single subnet
284+
if len(in.Subnets) > 0 {
285+
out.Subnet = (*Subnet)(&in.Subnets[0])
286+
}
287+
return nil
286288
}
287289

288290
func Convert_v1alpha5_Network_To_v1alpha7_NetworkStatus(in *Network, out *infrav1.NetworkStatus, _ conversion.Scope) error {
@@ -385,3 +387,49 @@ func Convert_v1alpha7_BindingProfile_To_Map_string_To_Interface(in *infrav1.Bind
385387
}
386388
return nil
387389
}
390+
391+
func Convert_v1alpha7_OpenStackClusterStatus_To_v1alpha5_OpenStackClusterStatus(in *infrav1.OpenStackClusterStatus, out *OpenStackClusterStatus, s conversion.Scope) error {
392+
err := autoConvert_v1alpha7_OpenStackClusterStatus_To_v1alpha5_OpenStackClusterStatus(in, out, s)
393+
if err != nil {
394+
return err
395+
}
396+
397+
// Router and APIServerLoadBalancer have been moved out of Network in v1alpha7
398+
if in.Router != nil || in.APIServerLoadBalancer != nil {
399+
if out.Network == nil {
400+
out.Network = &Network{}
401+
}
402+
403+
out.Network.Router = (*Router)(in.Router)
404+
if in.APIServerLoadBalancer != nil {
405+
out.Network.APIServerLoadBalancer = &LoadBalancer{}
406+
err = Convert_v1alpha7_LoadBalancer_To_v1alpha5_LoadBalancer(in.APIServerLoadBalancer, out.Network.APIServerLoadBalancer, s)
407+
if err != nil {
408+
return err
409+
}
410+
}
411+
}
412+
413+
return nil
414+
}
415+
416+
func Convert_v1alpha5_OpenStackClusterStatus_To_v1alpha7_OpenStackClusterStatus(in *OpenStackClusterStatus, out *infrav1.OpenStackClusterStatus, s conversion.Scope) error {
417+
err := autoConvert_v1alpha5_OpenStackClusterStatus_To_v1alpha7_OpenStackClusterStatus(in, out, s)
418+
if err != nil {
419+
return err
420+
}
421+
422+
// Router and APIServerLoadBalancer have been moved out of Network in v1alpha7
423+
if in.Network != nil {
424+
out.Router = (*infrav1.Router)(in.Network.Router)
425+
if in.Network.APIServerLoadBalancer != nil {
426+
out.APIServerLoadBalancer = &infrav1.LoadBalancer{}
427+
err = Convert_v1alpha5_LoadBalancer_To_v1alpha7_LoadBalancer(in.Network.APIServerLoadBalancer, out.APIServerLoadBalancer, s)
428+
if err != nil {
429+
return err
430+
}
431+
}
432+
}
433+
434+
return nil
435+
}

api/v1alpha5/zz_generated.conversion.go

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

0 commit comments

Comments
 (0)