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
 | 	// +optional
 | ||||||
| 	// +kubebuilder:validation:Minimum:=0
 | 	// +kubebuilder:validation:Minimum:=0
 | ||||||
| 	DesiredMinRunners int `json:"desiredMinRunners,omitempty"` | 	DesiredMinRunners int `json:"desiredMinRunners"` | ||||||
| 	// +optional
 | 	// +optional
 | ||||||
| 	ScheduledOverridesSummary *string `json:"scheduledOverridesSummary,omitempty"` | 	ScheduledOverridesSummary *string `json:"scheduledOverridesSummary,omitempty"` | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -318,9 +318,20 @@ func (r *AutoscalingRunnerSetReconciler) Reconcile(ctx context.Context, req ctrl | ||||||
| 
 | 
 | ||||||
| 	var overridesSummary string | 	var overridesSummary string | ||||||
| 
 | 
 | ||||||
| 	// Update the status of the desired min runners and scheduled overrides summary
 | 	currentReplicasOutOfDate := latestRunnerSet.Status.CurrentReplicas != autoscalingRunnerSet.Status.CurrentRunners | ||||||
| 	if autoscalingRunnerSet.Status.DesiredMinRunners != minRunners { | 	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 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 | 				obj.Status.DesiredMinRunners = minRunners | ||||||
| 
 | 
 | ||||||
| 				if (active != nil && upcoming == nil) || (active != nil && upcoming != nil && active.Period.EndTime.Before(upcoming.Period.StartTime)) { | 				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 { | 				} else { | ||||||
| 					obj.Status.ScheduledOverridesSummary = nil | 					obj.Status.ScheduledOverridesSummary = nil | ||||||
| 				} | 				} | ||||||
|  | 			} | ||||||
| 		}); err != 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{}, err | ||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
| 		return ctrl.Result{}, nil | 		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 | 	return ctrl.Result{RequeueAfter: DefaultScaleSetHealthyRequeueAfter}, nil | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue