Skip to content

Commit ada7741

Browse files
committed
Rename ReferencedResources to Resolved
This struct has already moved beyond external references, and seems be evolving towards a fully-resolved machine spec. For want of a better name we call it 'resolved', which is more accurate.
1 parent 39038b9 commit ada7741

22 files changed

+146
-143
lines changed

api/v1alpha5/conversion.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -455,7 +455,7 @@ func Convert_v1alpha5_Instance_To_v1beta1_BastionStatus(in *Instance, out *infra
455455
out.State = infrav1.InstanceState(in.State)
456456
out.IP = in.IP
457457
out.FloatingIP = in.FloatingIP
458-
out.ReferencedResources.ServerGroupID = in.ServerGroupID
458+
out.Resolved.ServerGroupID = in.ServerGroupID
459459
return nil
460460
}
461461

@@ -467,7 +467,7 @@ func Convert_v1beta1_BastionStatus_To_v1alpha5_Instance(in *infrav1.BastionStatu
467467
out.State = InstanceState(in.State)
468468
out.IP = in.IP
469469
out.FloatingIP = in.FloatingIP
470-
out.ServerGroupID = in.ReferencedResources.ServerGroupID
470+
out.ServerGroupID = in.Resolved.ServerGroupID
471471
return nil
472472
}
473473

api/v1alpha5/conversion_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ func TestConvertFrom(t *testing.T) {
8787
Spec: OpenStackMachineSpec{},
8888
ObjectMeta: metav1.ObjectMeta{
8989
Annotations: map[string]string{
90-
"cluster.x-k8s.io/conversion-data": `{"spec":{"flavor":"","image":{}},"status":{"ready":false,"referencedResources":{},"resources":{}}}`,
90+
"cluster.x-k8s.io/conversion-data": "{\"spec\":{\"flavor\":\"\",\"image\":{}},\"status\":{\"ready\":false,\"resolved\":{},\"resources\":{}}}",
9191
},
9292
},
9393
},

api/v1alpha5/zz_generated.conversion.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

api/v1alpha6/openstackcluster_conversion.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -368,7 +368,7 @@ func restorev1beta1ClusterStatus(previous *infrav1.OpenStackClusterStatus, dst *
368368
dst.BastionSecurityGroup = previous.BastionSecurityGroup
369369

370370
if previous.Bastion != nil {
371-
dst.Bastion.ReferencedResources = previous.Bastion.ReferencedResources
371+
dst.Bastion.Resolved = previous.Bastion.Resolved
372372
}
373373
if previous.Bastion != nil && previous.Bastion.Resources.Ports != nil {
374374
dst.Bastion.Resources.Ports = previous.Bastion.Resources.Ports

api/v1alpha6/openstackmachine_conversion.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -96,8 +96,8 @@ var v1beta1OpenStackMachineRestorer = conversion.RestorerFor[*infrav1.OpenStackM
9696
),
9797
// No equivalent in v1alpha6
9898
"refresources": conversion.UnconditionalFieldRestorer(
99-
func(c *infrav1.OpenStackMachine) *infrav1.ReferencedMachineResources {
100-
return &c.Status.ReferencedResources
99+
func(c *infrav1.OpenStackMachine) *infrav1.ResolvedMachineSpec {
100+
return &c.Status.Resolved
101101
},
102102
),
103103
}

api/v1alpha6/zz_generated.conversion.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

api/v1alpha7/openstackcluster_conversion.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -350,7 +350,7 @@ func restorev1alpha7ClusterStatus(previous *OpenStackClusterStatus, dst *OpenSta
350350
func restorev1beta1ClusterStatus(previous *infrav1.OpenStackClusterStatus, dst *infrav1.OpenStackClusterStatus) {
351351
// ReferencedResources have no equivalent in v1alpha7
352352
if previous.Bastion != nil {
353-
dst.Bastion.ReferencedResources = previous.Bastion.ReferencedResources
353+
dst.Bastion.Resolved = previous.Bastion.Resolved
354354
}
355355

356356
if previous.Bastion != nil && previous.Bastion.Resources.Ports != nil {

api/v1alpha7/openstackmachine_conversion.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,8 +83,8 @@ var v1beta1OpenStackMachineRestorer = conversion.RestorerFor[*infrav1.OpenStackM
8383
),
8484
// No equivalent in v1alpha7
8585
"refresources": conversion.UnconditionalFieldRestorer(
86-
func(c *infrav1.OpenStackMachine) *infrav1.ReferencedMachineResources {
87-
return &c.Status.ReferencedResources
86+
func(c *infrav1.OpenStackMachine) *infrav1.ResolvedMachineSpec {
87+
return &c.Status.Resolved
8888
},
8989
),
9090
}

api/v1alpha7/zz_generated.conversion.go

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

api/v1beta1/openstackmachine_types.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -126,8 +126,9 @@ type OpenStackMachineStatus struct {
126126
// +optional
127127
InstanceState *InstanceState `json:"instanceState,omitempty"`
128128

129-
// ReferencedResources contains resolved references to resources that the machine depends on.
130-
ReferencedResources ReferencedMachineResources `json:"referencedResources,omitempty"`
129+
// Resolved contains parts of the machine spec with all external
130+
// references fully resolved.
131+
Resolved ResolvedMachineSpec `json:"resolved,omitempty"`
131132

132133
// Resources contains references to OpenStack resources created for the machine.
133134
Resources MachineResources `json:"resources,omitempty"`

api/v1beta1/types.go

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -358,14 +358,14 @@ type AddressPair struct {
358358
}
359359

360360
type BastionStatus struct {
361-
ID string `json:"id,omitempty"`
362-
Name string `json:"name,omitempty"`
363-
SSHKeyName string `json:"sshKeyName,omitempty"`
364-
State InstanceState `json:"state,omitempty"`
365-
IP string `json:"ip,omitempty"`
366-
FloatingIP string `json:"floatingIP,omitempty"`
367-
ReferencedResources ReferencedMachineResources `json:"referencedResources,omitempty"`
368-
Resources MachineResources `json:"resources,omitempty"`
361+
ID string `json:"id,omitempty"`
362+
Name string `json:"name,omitempty"`
363+
SSHKeyName string `json:"sshKeyName,omitempty"`
364+
State InstanceState `json:"state,omitempty"`
365+
IP string `json:"ip,omitempty"`
366+
FloatingIP string `json:"floatingIP,omitempty"`
367+
Resolved ResolvedMachineSpec `json:"resolved,omitempty"`
368+
Resources MachineResources `json:"resources,omitempty"`
369369
}
370370

371371
type RootVolume struct {
@@ -658,8 +658,8 @@ func (s *APIServerLoadBalancer) IsEnabled() bool {
658658
return s != nil && (s.Enabled == nil || *s.Enabled)
659659
}
660660

661-
// ReferencedMachineResources contains resolved references to resources required by the machine.
662-
type ReferencedMachineResources struct {
661+
// ResolvedMachineSpec contains resolved references to resources required by the machine.
662+
type ResolvedMachineSpec struct {
663663
// ServerGroupID is the ID of the server group the machine should be added to and is calculated based on ServerGroupFilter.
664664
// +optional
665665
ServerGroupID string `json:"serverGroupID,omitempty"`

api/v1beta1/zz_generated.deepcopy.go

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

config/crd/bases/infrastructure.cluster.x-k8s.io_openstackclusters.yaml

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

config/crd/bases/infrastructure.cluster.x-k8s.io_openstackmachines.yaml

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

controllers/openstackcluster_controller.go

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -227,20 +227,20 @@ func resolveBastionResources(scope *scope.WithLogger, clusterResourceName string
227227
if openStackCluster.Spec.Bastion.Spec == nil {
228228
return false, fmt.Errorf("bastion spec is nil when bastion is enabled, this shouldn't happen")
229229
}
230-
changed, err := compute.ResolveReferencedMachineResources(scope,
231-
openStackCluster.Spec.Bastion.Spec, &openStackCluster.Status.Bastion.ReferencedResources,
230+
changed, err := compute.ResolveMachineSpec(scope,
231+
openStackCluster.Spec.Bastion.Spec, &openStackCluster.Status.Bastion.Resolved,
232232
clusterResourceName, bastionName(clusterResourceName),
233233
openStackCluster, getBastionSecurityGroupID(openStackCluster))
234234
if err != nil {
235235
return false, err
236236
}
237237
if changed {
238-
// If the referenced resources have changed, we need to update the OpenStackCluster status now.
238+
// If the resolved machine spec changed we need to restart the reconcile to avoid inconsistencies between reconciles.
239239
return true, nil
240240
}
241241

242242
err = compute.AdoptMachineResources(scope,
243-
&openStackCluster.Status.Bastion.ReferencedResources,
243+
&openStackCluster.Status.Bastion.Resolved,
244244
&openStackCluster.Status.Bastion.Resources)
245245
if err != nil {
246246
return false, err
@@ -542,16 +542,16 @@ func bastionToInstanceSpec(openStackCluster *infrav1.OpenStackCluster, cluster *
542542
// v1beta1 API validations prevent this from happening in normal circumstances.
543543
bastion.Spec = &infrav1.OpenStackMachineSpec{}
544544
}
545-
referencedResources := &openStackCluster.Status.Bastion.ReferencedResources
545+
resolved := &openStackCluster.Status.Bastion.Resolved
546546

547547
machineSpec := bastion.Spec
548548
instanceSpec := &compute.InstanceSpec{
549549
Name: bastionName(cluster.Name),
550550
Flavor: machineSpec.Flavor,
551551
SSHKeyName: machineSpec.SSHKeyName,
552-
ImageID: referencedResources.ImageID,
552+
ImageID: resolved.ImageID,
553553
RootVolume: machineSpec.RootVolume,
554-
ServerGroupID: referencedResources.ServerGroupID,
554+
ServerGroupID: resolved.ServerGroupID,
555555
Tags: compute.InstanceTags(machineSpec, openStackCluster),
556556
}
557557
if bastion.AvailabilityZone != nil {
@@ -578,7 +578,7 @@ func getBastionSecurityGroupID(openStackCluster *infrav1.OpenStackCluster) *stri
578578
}
579579

580580
func getOrCreateBastionPorts(openStackCluster *infrav1.OpenStackCluster, networkingService *networking.Service) error {
581-
desiredPorts := openStackCluster.Status.Bastion.ReferencedResources.Ports
581+
desiredPorts := openStackCluster.Status.Bastion.Resolved.Ports
582582
resources := &openStackCluster.Status.Bastion.Resources
583583

584584
if len(desiredPorts) == len(resources.Ports) {

controllers/openstackcluster_controller_test.go

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -237,7 +237,7 @@ var _ = Describe("OpenStackCluster controller", func() {
237237
Expect(err).To(BeNil())
238238
testCluster.Status = infrav1.OpenStackClusterStatus{
239239
Bastion: &infrav1.BastionStatus{
240-
ReferencedResources: infrav1.ReferencedMachineResources{
240+
Resolved: infrav1.ResolvedMachineSpec{
241241
ImageID: "imageID",
242242
Ports: []infrav1.ResolvedPortSpec{
243243
{
@@ -286,7 +286,7 @@ var _ = Describe("OpenStackCluster controller", func() {
286286
expectedStatus := &infrav1.BastionStatus{
287287
ID: "adopted-bastion-uuid",
288288
State: "ACTIVE",
289-
ReferencedResources: infrav1.ReferencedMachineResources{
289+
Resolved: infrav1.ResolvedMachineSpec{
290290
ImageID: "imageID",
291291
Ports: []infrav1.ResolvedPortSpec{
292292
{
@@ -327,7 +327,7 @@ var _ = Describe("OpenStackCluster controller", func() {
327327
},
328328
Bastion: &infrav1.BastionStatus{
329329
ID: "adopted-fip-bastion-uuid",
330-
ReferencedResources: infrav1.ReferencedMachineResources{
330+
Resolved: infrav1.ResolvedMachineSpec{
331331
ImageID: "imageID",
332332
Ports: []infrav1.ResolvedPortSpec{
333333
{
@@ -369,7 +369,7 @@ var _ = Describe("OpenStackCluster controller", func() {
369369
ID: "adopted-fip-bastion-uuid",
370370
FloatingIP: "1.2.3.4",
371371
State: "ACTIVE",
372-
ReferencedResources: infrav1.ReferencedMachineResources{
372+
Resolved: infrav1.ResolvedMachineSpec{
373373
ImageID: "imageID",
374374
Ports: []infrav1.ResolvedPortSpec{
375375
{
@@ -409,7 +409,7 @@ var _ = Describe("OpenStackCluster controller", func() {
409409
},
410410
Bastion: &infrav1.BastionStatus{
411411
ID: "requeue-bastion-uuid",
412-
ReferencedResources: infrav1.ReferencedMachineResources{
412+
Resolved: infrav1.ResolvedMachineSpec{
413413
ImageID: "imageID",
414414
Ports: []infrav1.ResolvedPortSpec{
415415
{
@@ -445,7 +445,7 @@ var _ = Describe("OpenStackCluster controller", func() {
445445
Expect(testCluster.Status.Bastion).To(Equal(&infrav1.BastionStatus{
446446
ID: "requeue-bastion-uuid",
447447
State: "BUILD",
448-
ReferencedResources: infrav1.ReferencedMachineResources{
448+
Resolved: infrav1.ResolvedMachineSpec{
449449
ImageID: "imageID",
450450
Ports: []infrav1.ResolvedPortSpec{
451451
{
@@ -475,7 +475,7 @@ var _ = Describe("OpenStackCluster controller", func() {
475475
Expect(err).To(BeNil())
476476
testCluster.Status = infrav1.OpenStackClusterStatus{
477477
Bastion: &infrav1.BastionStatus{
478-
ReferencedResources: infrav1.ReferencedMachineResources{
478+
Resolved: infrav1.ResolvedMachineSpec{
479479
ImageID: "imageID",
480480
},
481481
},

0 commit comments

Comments
 (0)