From 18077a1e83e346a5c3f3ae57ae9b8792ceb7c292 Mon Sep 17 00:00:00 2001 From: Yusuke Kuoka Date: Mon, 28 Nov 2022 04:31:12 +0900 Subject: [PATCH] docs: do not recommend combining pull-based autoscaling with webhook-based autoscaling (#2051) Ref https://github.com/actions-runner-controller/actions-runner-controller/issues/1962 --- docs/detailed-docs.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/docs/detailed-docs.md b/docs/detailed-docs.md index 3560b4dc..25ffba84 100644 --- a/docs/detailed-docs.md +++ b/docs/detailed-docs.md @@ -916,10 +916,9 @@ The main use case for scaling from 0 is with the `HorizontalRunnerAutoscaler` ki - `TotalNumberOfQueuedAndInProgressWorkflowRuns` - `PercentageRunnersBusy` + `TotalNumberOfQueuedAndInProgressWorkflowRuns` -- `PercentageRunnersBusy` + Webhook-based autoscaling -- Webhook-based autoscaling only +- Webhook-based autoscaling -`PercentageRunnersBusy` can't be used alone as, by its definition, it needs one or more GitHub runners to become `busy` to be able to scale. If there isn't a runner to pick up a job and enter a `busy` state then the controller will never know to provision a runner to begin with as this metric has no knowledge of the job queue and is relying on using the number of busy runners as a means for calculating the desired replica count. +`PercentageRunnersBusy` can't be used alone for scale-from-zero as, by its definition, it needs one or more GitHub runners to become `busy` to be able to scale. If there isn't a runner to pick up a job and enter a `busy` state then the controller will never know to provision a runner to begin with as this metric has no knowledge of the job queue and is relying on using the number of busy runners as a means for calculating the desired replica count. If a HorizontalRunnerAutoscaler is configured with a secondary metric of `TotalNumberOfQueuedAndInProgressWorkflowRuns` then be aware that the controller will check the primary metric of `PercentageRunnersBusy` first and will only use the secondary metric to calculate the desired replica count if the primary metric returns 0 desired replicas.