Skip to content

scaleset: replace deleted runners - #843

Draft
rm-you wants to merge 1 commit into
cloudbase:mainfrom
rm-you:fix/scaleset-delete-reconciliation
Draft

scaleset: replace deleted runners#843
rm-you wants to merge 1 commit into
cloudbase:mainfrom
rm-you:fix/scaleset-delete-reconciliation

Conversation

@rm-you

@rm-you rm-you commented Aug 12, 2026

Copy link
Copy Markdown

Deleted instances remained in the scale set worker's runner count until cleanup completed. A deleted idle runner could therefore satisfy min_idle_runners and prevent its replacement from being created. The scale set could also remain in pending_create after successful initialization.

Refresh the worker cache from the database before autoscaling, remove deleted rows, exclude instances already being deleted from capacity, and mark an initialized scale set as created. Pending-create instances still count, preventing duplicate replacements, and max_runners remains enforced.

Tests cover deletion states, stale cache reconciliation, single replacement creation, pending-create deduplication, maximum capacity, and the scale-set state transition.

Refresh scale set instances from the database so missed watcher updates cannot strand deleted rows in the capacity count. Mark verified GitHub scale sets as created.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant