refactor: combine both status updates under one call
This commit is contained in:
parent
7dda986370
commit
a8b1b0e618
|
|
@ -294,7 +294,7 @@ type AutoscalingRunnerSetStatus struct {
|
|||
|
||||
// +optional
|
||||
// +kubebuilder:validation:Minimum:=0
|
||||
DesiredMinRunners int `json:"desiredMinRunners,omitempty"`
|
||||
DesiredMinRunners int `json:"desiredMinRunners"`
|
||||
// +optional
|
||||
ScheduledOverridesSummary *string `json:"scheduledOverridesSummary,omitempty"`
|
||||
}
|
||||
|
|
|
|||
|
|
@ -318,9 +318,20 @@ func (r *AutoscalingRunnerSetReconciler) Reconcile(ctx context.Context, req ctrl
|
|||
|
||||
var overridesSummary string
|
||||
|
||||
// Update the status of the desired min runners and scheduled overrides summary
|
||||
if autoscalingRunnerSet.Status.DesiredMinRunners != minRunners {
|
||||
currentReplicasOutOfDate := latestRunnerSet.Status.CurrentReplicas != autoscalingRunnerSet.Status.CurrentRunners
|
||||
minReplicasOutOfDate := autoscalingRunnerSet.Status.DesiredMinRunners != minRunners
|
||||
|
||||
// Update the status of autoscaling runner set.
|
||||
if minReplicasOutOfDate || currentReplicasOutOfDate {
|
||||
if err := patchSubResource(ctx, r.Status(), autoscalingRunnerSet, func(obj *v1alpha1.AutoscalingRunnerSet) {
|
||||
if currentReplicasOutOfDate {
|
||||
obj.Status.CurrentRunners = latestRunnerSet.Status.CurrentReplicas
|
||||
obj.Status.PendingEphemeralRunners = latestRunnerSet.Status.PendingEphemeralRunners
|
||||
obj.Status.RunningEphemeralRunners = latestRunnerSet.Status.RunningEphemeralRunners
|
||||
obj.Status.FailedEphemeralRunners = latestRunnerSet.Status.FailedEphemeralRunners
|
||||
}
|
||||
|
||||
if minReplicasOutOfDate {
|
||||
obj.Status.DesiredMinRunners = minRunners
|
||||
|
||||
if (active != nil && upcoming == nil) || (active != nil && upcoming != nil && active.Period.EndTime.Before(upcoming.Period.StartTime)) {
|
||||
|
|
@ -343,27 +354,15 @@ func (r *AutoscalingRunnerSetReconciler) Reconcile(ctx context.Context, req ctrl
|
|||
} else {
|
||||
obj.Status.ScheduledOverridesSummary = nil
|
||||
}
|
||||
}
|
||||
}); err != nil {
|
||||
log.Error(err, "Failed to update autoscaling runner set status with desired min runners")
|
||||
log.Error(err, "Failed to update autoscaling runner set status")
|
||||
return ctrl.Result{}, err
|
||||
}
|
||||
|
||||
return ctrl.Result{}, nil
|
||||
}
|
||||
|
||||
// Update the status of autoscaling runner set.
|
||||
if latestRunnerSet.Status.CurrentReplicas != autoscalingRunnerSet.Status.CurrentRunners {
|
||||
if err := patchSubResource(ctx, r.Status(), autoscalingRunnerSet, func(obj *v1alpha1.AutoscalingRunnerSet) {
|
||||
obj.Status.CurrentRunners = latestRunnerSet.Status.CurrentReplicas
|
||||
obj.Status.PendingEphemeralRunners = latestRunnerSet.Status.PendingEphemeralRunners
|
||||
obj.Status.RunningEphemeralRunners = latestRunnerSet.Status.RunningEphemeralRunners
|
||||
obj.Status.FailedEphemeralRunners = latestRunnerSet.Status.FailedEphemeralRunners
|
||||
}); err != nil {
|
||||
log.Error(err, "Failed to update autoscaling runner set status with current runner count")
|
||||
return ctrl.Result{}, err
|
||||
}
|
||||
}
|
||||
|
||||
return ctrl.Result{RequeueAfter: DefaultScaleSetHealthyRequeueAfter}, nil
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue