Skip to content

Commit 625ec6f

Browse files
committed
Move ports management outside of instances
1 parent 3ceeeae commit 625ec6f

22 files changed

+1257
-550
lines changed

api/v1alpha5/conversion.go

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -410,6 +410,10 @@ func Convert_v1alpha8_OpenStackClusterStatus_To_v1alpha5_OpenStackClusterStatus(
410410
}
411411
}
412412

413+
if in.Bastion != nil && in.Bastion.PortsStatus != nil {
414+
in.Bastion.PortsStatus = nil
415+
}
416+
413417
return nil
414418
}
415419

@@ -437,3 +441,14 @@ func Convert_v1alpha5_OpenStackClusterStatus_To_v1alpha8_OpenStackClusterStatus(
437441
func Convert_v1alpha8_OpenStackMachineSpec_To_v1alpha5_OpenStackMachineSpec(in *infrav1.OpenStackMachineSpec, out *OpenStackMachineSpec, s conversion.Scope) error {
438442
return autoConvert_v1alpha8_OpenStackMachineSpec_To_v1alpha5_OpenStackMachineSpec(in, out, s)
439443
}
444+
445+
func Convert_v1alpha8_OpenStackMachineStatus_To_v1alpha5_OpenStackMachineStatus(in *infrav1.OpenStackMachineStatus, out *OpenStackMachineStatus, s conversion.Scope) error {
446+
err := autoConvert_v1alpha8_OpenStackMachineStatus_To_v1alpha5_OpenStackMachineStatus(in, out, s)
447+
if err != nil {
448+
return err
449+
}
450+
451+
in.PortsStatus = nil
452+
453+
return nil
454+
}

api/v1alpha5/zz_generated.conversion.go

Lines changed: 6 additions & 10 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: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -638,6 +638,10 @@ func Convert_v1alpha8_OpenStackClusterStatus_To_v1alpha6_OpenStackClusterStatus(
638638
out.Network.APIServerLoadBalancer = (*LoadBalancer)(in.APIServerLoadBalancer)
639639
}
640640

641+
if in.Bastion != nil && in.Bastion.PortsStatus != nil {
642+
in.Bastion.PortsStatus = nil
643+
}
644+
641645
return nil
642646
}
643647

@@ -659,3 +663,14 @@ func Convert_v1alpha6_OpenStackClusterStatus_To_v1alpha8_OpenStackClusterStatus(
659663
func Convert_v1alpha8_OpenStackMachineSpec_To_v1alpha6_OpenStackMachineSpec(in *infrav1.OpenStackMachineSpec, out *OpenStackMachineSpec, s apiconversion.Scope) error {
660664
return autoConvert_v1alpha8_OpenStackMachineSpec_To_v1alpha6_OpenStackMachineSpec(in, out, s)
661665
}
666+
667+
func Convert_v1alpha8_OpenStackMachineStatus_To_v1alpha6_OpenStackMachineStatus(in *infrav1.OpenStackMachineStatus, out *OpenStackMachineStatus, s apiconversion.Scope) error {
668+
err := autoConvert_v1alpha8_OpenStackMachineStatus_To_v1alpha6_OpenStackMachineStatus(in, out, s)
669+
if err != nil {
670+
return err
671+
}
672+
673+
in.PortsStatus = nil
674+
675+
return nil
676+
}

api/v1alpha6/zz_generated.conversion.go

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

api/v1alpha7/conversion.go

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ limitations under the License.
1717
package v1alpha7
1818

1919
import (
20+
apiconversion "k8s.io/apimachinery/pkg/conversion"
2021
ctrlconversion "sigs.k8s.io/controller-runtime/pkg/conversion"
2122

2223
infrav1 "sigs.k8s.io/cluster-api-provider-openstack/api/v1alpha8"
@@ -232,3 +233,25 @@ func (r *OpenStackMachineTemplateList) ConvertFrom(srcRaw ctrlconversion.Hub) er
232233
src := srcRaw.(*infrav1.OpenStackMachineTemplateList)
233234
return Convert_v1alpha8_OpenStackMachineTemplateList_To_v1alpha7_OpenStackMachineTemplateList(src, r, nil)
234235
}
236+
237+
func Convert_v1alpha8_OpenStackMachineStatus_To_v1alpha7_OpenStackMachineStatus(in *infrav1.OpenStackMachineStatus, out *OpenStackMachineStatus, s apiconversion.Scope) error {
238+
err := autoConvert_v1alpha8_OpenStackMachineStatus_To_v1alpha7_OpenStackMachineStatus(in, out, s)
239+
if err != nil {
240+
return err
241+
}
242+
243+
in.PortsStatus = nil
244+
245+
return nil
246+
}
247+
248+
func Convert_v1alpha8_BastionStatus_To_v1alpha7_BastionStatus(in *infrav1.BastionStatus, out *BastionStatus, s apiconversion.Scope) error {
249+
err := autoConvert_v1alpha8_BastionStatus_To_v1alpha7_BastionStatus(in, out, s)
250+
if err != nil {
251+
return err
252+
}
253+
254+
in.PortsStatus = nil
255+
256+
return nil
257+
}

api/v1alpha7/zz_generated.conversion.go

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

api/v1alpha8/conditions_consts.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,10 @@ const (
2222
// InstanceReadyCondition reports on current status of the OpenStack instance. Ready indicates the instance is in a Running state.
2323
InstanceReadyCondition clusterv1.ConditionType = "InstanceReady"
2424

25+
// PortsReadyCondition reports on the current status of the ports. Ready indicates that all ports have been created
26+
// successfully and ready to be attached to the instance.
27+
PortsReadyCondition clusterv1.ConditionType = "PortsReady"
28+
2529
// WaitingForClusterInfrastructureReason used when machine is waiting for cluster infrastructure to be ready before proceeding.
2630
WaitingForClusterInfrastructureReason = "WaitingForClusterInfrastructure"
2731
// WaitingForBootstrapDataReason used when machine is waiting for bootstrap data to be ready before proceeding.
@@ -40,6 +44,10 @@ const (
4044
InstanceNotReadyReason = "InstanceNotReady"
4145
// InstanceDeleteFailedReason used when deleting the instance failed.
4246
InstanceDeleteFailedReason = "InstanceDeleteFailed"
47+
// PortsCreateFailedReason used when creating the ports failed.
48+
PortsCreateFailedReason = "PortsCreateFailed"
49+
// PortsDeleteFailedReason used when deleting the ports failed.
50+
PortsDeleteFailedReason = "PortsDeleteFailed"
4351
// OpenstackErrorReason used when there is an error communicating with OpenStack.
4452
OpenStackErrorReason = "OpenStackError"
4553
)

api/v1alpha8/openstackmachine_types.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,10 @@ type OpenStackMachineStatus struct {
111111
// +optional
112112
InstanceState *InstanceState `json:"instanceState,omitempty"`
113113

114+
// PortsStatus is the status of the ports associated with the machine.
115+
// +optional
116+
PortsStatus []PortStatus `json:"portsStatus,omitempty"`
117+
114118
FailureReason *errors.MachineStatusError `json:"failureReason,omitempty"`
115119

116120
// FailureMessage will be set in the event that there is a terminal problem

0 commit comments

Comments
 (0)