Skip to content

Commit 6762c5c

Browse files
authored
Fix excessive runnerreplicaset update issue since 0.25.0 (#1651)
Fixes #1643
1 parent fea1457 commit 6762c5c

1 file changed

Lines changed: 17 additions & 1 deletion

File tree

controllers/runnerdeployment_controller.go

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -165,6 +165,8 @@ func (r *RunnerDeploymentReconciler) Reconcile(ctx context.Context, req ctrl.Req
165165
return ctrl.Result{}, err
166166
}
167167

168+
log.V(1).Info("Updated runnerreplicaset due to selector change")
169+
168170
// At this point, we are already sure that there's no need to create a new replicaset
169171
// as the runner template hash is not changed.
170172
//
@@ -182,7 +184,14 @@ func (r *RunnerDeploymentReconciler) Reconcile(ctx context.Context, req ctrl.Req
182184
//
183185
// If we missed taking the EffectiveTime diff into account, you might end up experiencing scale-ups being delayed scale-down.
184186
// See https://github.com/actions-runner-controller/actions-runner-controller/pull/1477#issuecomment-1164154496
185-
if currentDesiredReplicas != newDesiredReplicas || newestSet.Spec.EffectiveTime != rd.Spec.EffectiveTime {
187+
var et1, et2 time.Time
188+
if newestSet.Spec.EffectiveTime != nil {
189+
et1 = newestSet.Spec.EffectiveTime.Time
190+
}
191+
if rd.Spec.EffectiveTime != nil {
192+
et2 = rd.Spec.EffectiveTime.Time
193+
}
194+
if currentDesiredReplicas != newDesiredReplicas || et1 != et2 {
186195
newestSet.Spec.Replicas = &newDesiredReplicas
187196
newestSet.Spec.EffectiveTime = rd.Spec.EffectiveTime
188197

@@ -192,6 +201,13 @@ func (r *RunnerDeploymentReconciler) Reconcile(ctx context.Context, req ctrl.Req
192201
return ctrl.Result{}, err
193202
}
194203

204+
log.V(1).Info("Updated runnerreplicaset due to spec change",
205+
"currentDesiredReplicas", currentDesiredReplicas,
206+
"newDesiredReplicas", newDesiredReplicas,
207+
"currentEffectiveTime", newestSet.Spec.EffectiveTime,
208+
"newEffectiveTime", rd.Spec.EffectiveTime,
209+
)
210+
195211
return ctrl.Result{}, err
196212
}
197213

0 commit comments

Comments
 (0)