Skip to content

feat(arc): run the controller and listeners under the platform priority class when asked - #86

Merged
Mearman merged 1 commit into
mainfrom
feat/arc-priority-class
Oct 14, 2026
Merged

Mearman merged 1 commit into
mainfrom
feat/arc-priority-class

Conversation

@Mearman

@Mearman Mearman commented Oct 14, 2026

Copy link
Copy Markdown
Member

Adds github_runner_arc_control_pods_priority_enabled, off by default like the listener probes beside it. With it on, the controller's values and each scale set's listenerTemplate carry priorityClassName set to the platform's class (github_runner_arc_platform_priority_class_name), which the role already creates in main.yml whether or not the platform is installed, so nothing new is created.

A pending listener can then take a full node's room from a runner pod, whose job ARC retries, instead of waiting behind it. An upgrade reschedules every controller replica together, so the controller gets the same class.

The overlay's listenerTemplate block is now rendered when only this option is on. Tests render the overlay and, through a small second playbook, the controller values, for the option on, off and with another class name. The unit suite and ansible-lint --profile production pass.

Closes #84

…ty class when asked

A listener is one pod per scale set that ARC cannot replicate, and while it waits to be
scheduled no new jobs are assigned, so one that was rescheduled on a full node waited
behind runner pods at the default priority. An upgrade also reschedules every controller
replica together. github_runner_arc_control_pods_priority_enabled puts the controller
and each listener under the PriorityClass the role already creates for the platform's pods,
so a pending listener can take a node's room from a runner pod, whose job ARC retries.
It is off by default, as it changes what a full node evicts.

Closes #84
@chatgpt-codex-connector

Copy link
Copy Markdown

This security review couldn’t start because the paying account has exhausted its Codex allowance and has insufficient available credits. The payer can check their balance and add credits in the Codex usage dashboard, then try again. If you do not manage the paying account, contact this repository's admins.

@Mearman
Mearman merged commit c90738f into main Oct 14, 2026
16 checks passed
@Mearman
Mearman deleted the feat/arc-priority-class branch October 14, 2026 15:57
@github-actions

Copy link
Copy Markdown

🎉 This PR is included in version 1.28.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Run the listener and controller under a priority class

1 participant