Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ require (
github.com/golang/mock v1.5.0
github.com/onsi/ginkgo v1.16.5
github.com/onsi/gomega v1.17.0
github.com/openshift/api v0.0.0-20220322000322-9c4998a4d646
github.com/openshift/api v0.0.0-20220325173635-8107b7a38e53
github.com/openshift/machine-api-operator v0.2.1-0.20220327131531-58ba8507d869
k8s.io/api v0.23.0
k8s.io/apimachinery v0.23.0
Expand Down
3 changes: 2 additions & 1 deletion go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -552,8 +552,9 @@ github.com/opencontainers/go-digest v1.0.0-rc1/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQ
github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM=
github.com/opencontainers/image-spec v1.0.1/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0=
github.com/openshift/api v0.0.0-20211209135129-c58d9f695577/go.mod h1:DoslCwtqUpr3d/gsbq4ZlkaMEdYqKxuypsDjorcHhME=
github.com/openshift/api v0.0.0-20220322000322-9c4998a4d646 h1:V68+yLIF5FGKRSnurrqr56KLpcuQsv5RYxwNF0XI2Jw=
github.com/openshift/api v0.0.0-20220322000322-9c4998a4d646/go.mod h1:F/eU6jgr6Q2VhMu1mSpMmygxAELd7+BUxs3NHZ25jV4=
github.com/openshift/api v0.0.0-20220325173635-8107b7a38e53 h1:WpOfczPbuY5llRH94DJRsGTsgm7d8iAA2b7m0+YXAqI=
github.com/openshift/api v0.0.0-20220325173635-8107b7a38e53/go.mod h1:F/eU6jgr6Q2VhMu1mSpMmygxAELd7+BUxs3NHZ25jV4=
github.com/openshift/build-machinery-go v0.0.0-20210712174854-1bb7fd1518d3/go.mod h1:b1BuldmJlbA/xYtdZvKi+7j5YGB44qJUJDZ9zwiNCfE=
github.com/openshift/build-machinery-go v0.0.0-20211213093930-7e33a7eb4ce3/go.mod h1:b1BuldmJlbA/xYtdZvKi+7j5YGB44qJUJDZ9zwiNCfE=
github.com/openshift/client-go v0.0.0-20211209144617-7385dd6338e3 h1:SG1aqwleU6bGD0X4mhkTNupjVnByMYYuW4XbnCPavQU=
Expand Down
5 changes: 3 additions & 2 deletions pkg/actuators/machine/machine_scope.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import (
machineapierros "github.com/openshift/machine-api-operator/pkg/controller/machine"
awsclient "github.com/openshift/machine-api-provider-aws/pkg/client"
corev1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/klog/v2"
runtimeclient "sigs.k8s.io/controller-runtime/pkg/client"
)
Expand Down Expand Up @@ -160,7 +161,7 @@ func (s *machineScope) getUserData() ([]byte, error) {
return userData, nil
}

func (s *machineScope) setProviderStatus(instance *ec2.Instance, condition machinev1beta1.AWSMachineProviderCondition) error {
func (s *machineScope) setProviderStatus(instance *ec2.Instance, condition metav1.Condition) error {
klog.Infof("%s: Updating status", s.machine.Name)

networkAddresses := []corev1.NodeAddress{}
Expand Down Expand Up @@ -191,7 +192,7 @@ func (s *machineScope) setProviderStatus(instance *ec2.Instance, condition machi
klog.Infof("%s: finished calculating AWS status", s.machine.Name)

s.machine.Status.Addresses = networkAddresses
s.providerStatus.Conditions = setAWSMachineProviderCondition(condition, s.providerStatus.Conditions)
s.providerStatus.Conditions = setCondition(condition, s.providerStatus.Conditions)

return nil
}
Expand Down
30 changes: 14 additions & 16 deletions pkg/actuators/machine/utils.go
Original file line number Diff line number Diff line change
Expand Up @@ -271,17 +271,16 @@ func terminateInstances(client awsclient.Client, instances []*ec2.Instance) ([]*
return output.TerminatingInstances, nil
}

// setAWSMachineProviderCondition sets the condition for the machine and
// setCondition sets the condition for the machine and
// returns the new slice of conditions.
// If the machine does not already have a condition with the specified type,
// a condition will be added to the slice
// If the machine does already have a condition with the specified type,
// the condition will be updated if either of the following are true.
func setAWSMachineProviderCondition(condition machinev1beta1.AWSMachineProviderCondition, conditions []machinev1beta1.AWSMachineProviderCondition) []machinev1beta1.AWSMachineProviderCondition {
func setCondition(condition metav1.Condition, conditions []metav1.Condition) []metav1.Condition {
now := metav1.Now()

if existingCondition := findProviderCondition(conditions, condition.Type); existingCondition == nil {
condition.LastProbeTime = now
if existingCondition := findCondition(conditions, condition.Type); existingCondition == nil {
condition.LastTransitionTime = now
conditions = append(conditions, condition)
} else {
Expand All @@ -291,7 +290,7 @@ func setAWSMachineProviderCondition(condition machinev1beta1.AWSMachineProviderC
return conditions
}

func findProviderCondition(conditions []machinev1beta1.AWSMachineProviderCondition, conditionType machinev1beta1.ConditionType) *machinev1beta1.AWSMachineProviderCondition {
func findCondition(conditions []metav1.Condition, conditionType string) *metav1.Condition {
for i := range conditions {
if conditions[i].Type == conditionType {
return &conditions[i]
Expand All @@ -300,7 +299,7 @@ func findProviderCondition(conditions []machinev1beta1.AWSMachineProviderConditi
return nil
}

func updateExistingCondition(newCondition, existingCondition *machinev1beta1.AWSMachineProviderCondition) {
func updateExistingCondition(newCondition, existingCondition *metav1.Condition) {
if !shouldUpdateCondition(newCondition, existingCondition) {
return
}
Expand All @@ -311,10 +310,9 @@ func updateExistingCondition(newCondition, existingCondition *machinev1beta1.AWS
existingCondition.Status = newCondition.Status
existingCondition.Reason = newCondition.Reason
existingCondition.Message = newCondition.Message
existingCondition.LastProbeTime = newCondition.LastProbeTime
}

func shouldUpdateCondition(newCondition, existingCondition *machinev1beta1.AWSMachineProviderCondition) bool {
func shouldUpdateCondition(newCondition, existingCondition *metav1.Condition) bool {
return newCondition.Reason != existingCondition.Reason || newCondition.Message != existingCondition.Message
}

Expand Down Expand Up @@ -390,19 +388,19 @@ func extractNodeAddresses(instance *ec2.Instance, domainNames []string) ([]corev
return addresses, nil
}

func conditionSuccess() machinev1beta1.AWSMachineProviderCondition {
return machinev1beta1.AWSMachineProviderCondition{
Type: machinev1beta1.MachineCreation,
Status: corev1.ConditionTrue,
func conditionSuccess() metav1.Condition {
return metav1.Condition{
Type: string(machinev1beta1.MachineCreation),
Status: metav1.ConditionTrue,
Reason: machinev1beta1.MachineCreationSucceededConditionReason,
Message: "Machine successfully created",
}
}

func conditionFailed() machinev1beta1.AWSMachineProviderCondition {
return machinev1beta1.AWSMachineProviderCondition{
Type: machinev1beta1.MachineCreation,
Status: corev1.ConditionFalse,
func conditionFailed() metav1.Condition {
return metav1.Condition{
Type: string(machinev1beta1.MachineCreation),
Status: metav1.ConditionFalse,
Reason: machinev1beta1.MachineCreationFailedConditionReason,
}
}
Expand Down

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.

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.

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.

Loading