Skip to content

Commit

Permalink
Move Server from .Resources to .Status
Browse files Browse the repository at this point in the history
  • Loading branch information
dulek committed Mar 26, 2024
1 parent 8515220 commit c7a6cef
Show file tree
Hide file tree
Showing 20 changed files with 142 additions and 119 deletions.
1 change: 1 addition & 0 deletions api/v1alpha5/zz_generated.conversion.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 3 additions & 5 deletions api/v1alpha6/conversion_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -684,11 +684,9 @@ func TestMachineConversionControllerSpecFields(t *testing.T) {
{
name: "Set InstanceID",
modifyUp: func(up *infrav1.OpenStackMachine) {
up.Status.Resources = &infrav1.MachineResources{
Server: &infrav1.ServerStatus{
ID: "new-instance-id",
State: "ACTIVE",
},
up.Status.Server = &infrav1.ServerStatus{
ID: "new-instance-id",
State: "ACTIVE",
}
},
testAfter: func(after *OpenStackMachine) {
Expand Down
1 change: 1 addition & 0 deletions api/v1alpha6/openstackcluster_conversion.go
Original file line number Diff line number Diff line change
Expand Up @@ -500,6 +500,7 @@ func restorev1beta1BastionStatus(previous *infrav1.BastionStatus, dst *infrav1.B
// Resolved and resources have no equivalents
dst.Resolved = previous.Resolved
dst.Resources = previous.Resources
dst.Server = previous.Server
}

func Convert_v1alpha6_Instance_To_v1beta1_BastionStatus(in *Instance, out *infrav1.BastionStatus, _ apiconversion.Scope) error {
Expand Down
11 changes: 4 additions & 7 deletions api/v1alpha6/openstackmachine_conversion.go
Original file line number Diff line number Diff line change
Expand Up @@ -122,10 +122,7 @@ func Convert_v1alpha6_OpenStackMachine_To_v1beta1_OpenStackMachine(in *OpenStack
if in.Status.InstanceState != nil {
serverStatus.State = (infrav1.InstanceState)(*in.Status.InstanceState)
}
if out.Status.Resources == nil {
out.Status.Resources = &infrav1.MachineResources{}
}
out.Status.Resources.Server = serverStatus
out.Status.Server = serverStatus
}
return nil
}
Expand All @@ -135,9 +132,9 @@ func Convert_v1beta1_OpenStackMachine_To_v1alpha6_OpenStackMachine(in *infrav1.O
return err
}

if in.Status.Resources != nil && in.Status.Resources.Server != nil {
out.Spec.InstanceID = &in.Status.Resources.Server.ID
state := InstanceState(in.Status.Resources.Server.State)
if in.Status.Server != nil {
out.Spec.InstanceID = &in.Status.Server.ID
state := InstanceState(in.Status.Server.State)
out.Status.InstanceState = &state
}

Expand Down
1 change: 1 addition & 0 deletions api/v1alpha6/zz_generated.conversion.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 3 additions & 5 deletions api/v1alpha7/conversion_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -312,11 +312,9 @@ func TestMachineConversionControllerSpecFields(t *testing.T) {
{
name: "Set InstanceID",
modifyUp: func(up *infrav1.OpenStackMachine) {
up.Status.Resources = &infrav1.MachineResources{
Server: &infrav1.ServerStatus{
ID: "new-instance-id",
State: "ACTIVE",
},
up.Status.Server = &infrav1.ServerStatus{
ID: "new-instance-id",
State: "ACTIVE",
}
},
testAfter: func(after *OpenStackMachine) {
Expand Down
1 change: 1 addition & 0 deletions api/v1alpha7/openstackcluster_conversion.go
Original file line number Diff line number Diff line change
Expand Up @@ -448,6 +448,7 @@ func restorev1beta1BastionStatus(previous *infrav1.BastionStatus, dst *infrav1.B
// Resolved and resources have no equivalents
dst.Resolved = previous.Resolved
dst.Resources = previous.Resources
dst.Server = previous.Server
}

/* Bastion status */
Expand Down
11 changes: 4 additions & 7 deletions api/v1alpha7/openstackmachine_conversion.go
Original file line number Diff line number Diff line change
Expand Up @@ -109,10 +109,7 @@ func Convert_v1alpha7_OpenStackMachine_To_v1beta1_OpenStackMachine(in *OpenStack
if in.Status.InstanceState != nil {
serverStatus.State = (infrav1.InstanceState)(*in.Status.InstanceState)
}
if out.Status.Resources == nil {
out.Status.Resources = &infrav1.MachineResources{}
}
out.Status.Resources.Server = serverStatus
out.Status.Server = serverStatus
}
return nil
}
Expand All @@ -122,9 +119,9 @@ func Convert_v1beta1_OpenStackMachine_To_v1alpha7_OpenStackMachine(in *infrav1.O
return err
}

if in.Status.Resources != nil && in.Status.Resources.Server != nil {
out.Spec.InstanceID = &in.Status.Resources.Server.ID
state := InstanceState(in.Status.Resources.Server.State)
if in.Status.Server != nil {
out.Spec.InstanceID = &in.Status.Server.ID
state := InstanceState(in.Status.Server.State)
out.Status.InstanceState = &state
}

Expand Down
2 changes: 2 additions & 0 deletions api/v1alpha7/zz_generated.conversion.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 4 additions & 0 deletions api/v1beta1/openstackmachine_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -152,6 +152,10 @@ type OpenStackMachineStatus struct {
FailureMessage *string `json:"failureMessage,omitempty"`

Conditions clusterv1.Conditions `json:"conditions,omitempty"`

// Server describes the OpenStack server created for the machine
// +optional
Server *ServerStatus `json:"server,omitempty"`
}

// +genclient
Expand Down
15 changes: 11 additions & 4 deletions api/v1beta1/types.go
Original file line number Diff line number Diff line change
Expand Up @@ -370,6 +370,10 @@ type BastionStatus struct {
// Resources contains references to OpenStack resources created for the bastion.
// +optional
Resources *MachineResources `json:"resources,omitempty"`

// Server describes the OpenStack server created for the bastion
// +optional
Server *ServerStatus `json:"server,omitempty"`
}

type RootVolume struct {
Expand Down Expand Up @@ -681,13 +685,16 @@ type MachineResources struct {
// Ports is the status of the ports created for the machine.
// +optional
Ports []PortStatus `json:"ports,omitempty"`
}

// Server describes the OpenStack server created for the machine
// +optional
Server *ServerStatus `json:"server,omitempty"`
func (r *OpenStackMachineStatus) GetServerID() *string {
if r == nil || r.Server == nil {
return nil
}
return &r.Server.ID
}

func (r *MachineResources) GetServerID() *string {
func (r *BastionStatus) GetServerID() *string {
if r == nil || r.Server == nil {
return nil
}
Expand Down
15 changes: 10 additions & 5 deletions api/v1beta1/zz_generated.deepcopy.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions controllers/openstackcluster_controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -279,7 +279,7 @@ func deleteBastion(scope *scope.WithLogger, cluster *clusterv1.Cluster, openStac

var instanceStatus *compute.InstanceStatus
if bastionStatus != nil {
serverID := bastionStatus.Resources.GetServerID()
serverID := bastionStatus.GetServerID()
if serverID != nil {
instanceStatus, err = computeService.GetInstanceStatus(*serverID)
if err != nil {
Expand Down Expand Up @@ -462,7 +462,7 @@ func reconcileBastion(scope *scope.WithLogger, cluster *clusterv1.Cluster, openS
var instanceStatus *compute.InstanceStatus
bastionStatus := openStackCluster.Status.Bastion
if bastionStatus != nil {
if serverID := bastionStatus.Resources.GetServerID(); serverID != nil {
if serverID := bastionStatus.GetServerID(); serverID != nil {
if instanceStatus, err = computeService.GetInstanceStatus(*serverID); err != nil {
return nil, err
}
Expand All @@ -482,7 +482,7 @@ func reconcileBastion(scope *scope.WithLogger, cluster *clusterv1.Cluster, openS
}

// Save hash & status as soon as we know we have an instance
openStackCluster.Status.Bastion.Resources.Server = &infrav1.ServerStatus{
openStackCluster.Status.Bastion.Server = &infrav1.ServerStatus{
ID: instanceStatus.ID(),
State: instanceStatus.State(),
}
Expand Down
44 changes: 21 additions & 23 deletions controllers/openstackcluster_controller_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -206,11 +206,9 @@ var _ = Describe("OpenStackCluster controller", func() {
Expect(err).To(BeNil())
testCluster.Status = infrav1.OpenStackClusterStatus{
Bastion: &infrav1.BastionStatus{
Resources: &infrav1.MachineResources{
Server: &infrav1.ServerStatus{
ID: "bastion-uuid",
State: "ACTIVE",
},
Server: &infrav1.ServerStatus{
ID: "bastion-uuid",
State: "ACTIVE",
},
},
}
Expand Down Expand Up @@ -303,10 +301,10 @@ var _ = Describe("OpenStackCluster controller", func() {
ID: "portID1",
},
},
Server: &infrav1.ServerStatus{
ID: "adopted-bastion-uuid",
State: "ACTIVE",
},
},
Server: &infrav1.ServerStatus{
ID: "adopted-bastion-uuid",
State: "ACTIVE",
},
}
Expect(testCluster.Status.Bastion).To(Equal(expectedStatus), cmp.Diff(testCluster.Status.Bastion, expectedStatus))
Expand Down Expand Up @@ -347,9 +345,9 @@ var _ = Describe("OpenStackCluster controller", func() {
ID: "portID1",
},
},
Server: &infrav1.ServerStatus{
ID: "adopted-fip-bastion-uuid",
},
},
Server: &infrav1.ServerStatus{
ID: "adopted-fip-bastion-uuid",
},
},
}
Expand Down Expand Up @@ -390,10 +388,10 @@ var _ = Describe("OpenStackCluster controller", func() {
ID: "portID1",
},
},
Server: &infrav1.ServerStatus{
ID: "adopted-fip-bastion-uuid",
State: "ACTIVE",
},
},
Server: &infrav1.ServerStatus{
ID: "adopted-fip-bastion-uuid",
State: "ACTIVE",
},
}))
Expect(err).To(BeNil())
Expand Down Expand Up @@ -433,9 +431,9 @@ var _ = Describe("OpenStackCluster controller", func() {
ID: "portID1",
},
},
Server: &infrav1.ServerStatus{
ID: "requeue-bastion-uuid",
},
},
Server: &infrav1.ServerStatus{
ID: "requeue-bastion-uuid",
},
},
}
Expand Down Expand Up @@ -470,10 +468,10 @@ var _ = Describe("OpenStackCluster controller", func() {
ID: "portID1",
},
},
Server: &infrav1.ServerStatus{
ID: "requeue-bastion-uuid",
State: "BUILD",
},
},
Server: &infrav1.ServerStatus{
ID: "requeue-bastion-uuid",
State: "BUILD",
},
}))
Expect(err).To(BeNil())
Expand Down
Loading

0 comments on commit c7a6cef

Please sign in to comment.