mirror of
https://github.com/actions/actions-runner-controller.git
synced 2025-12-11 20:21:02 +00:00
Fix scaling back to 0 after min runners were set to number > 0 (#2742)
This commit is contained in:
@@ -39,7 +39,7 @@ func NewService(
|
||||
rsClient: rsClient,
|
||||
kubeManager: manager,
|
||||
settings: settings,
|
||||
currentRunnerCount: 0,
|
||||
currentRunnerCount: -1, // force patch on startup
|
||||
logger: logr.FromContextOrDiscard(ctx),
|
||||
}
|
||||
|
||||
@@ -51,14 +51,6 @@ func NewService(
|
||||
}
|
||||
|
||||
func (s *Service) Start() error {
|
||||
if s.settings.MinRunners > 0 {
|
||||
s.logger.Info("scale to match minimal runners.")
|
||||
err := s.scaleForAssignedJobCount(0)
|
||||
if err != nil {
|
||||
return fmt.Errorf("could not scale to match minimal runners. %w", err)
|
||||
}
|
||||
}
|
||||
|
||||
for {
|
||||
s.logger.Info("waiting for message...")
|
||||
select {
|
||||
@@ -94,6 +86,10 @@ func (s *Service) processMessage(message *actions.RunnerScaleSetMessage) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
if message.MessageId == 0 && message.Body == "" { // initial message with statistics only
|
||||
return s.scaleForAssignedJobCount(message.Statistics.TotalAssignedJobs)
|
||||
}
|
||||
|
||||
var batchedMessages []json.RawMessage
|
||||
if err := json.NewDecoder(strings.NewReader(message.Body)).Decode(&batchedMessages); err != nil {
|
||||
return fmt.Errorf("could not decode job messages. %w", err)
|
||||
|
||||
Reference in New Issue
Block a user