Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[eks/actions-runner-controller] Multiple bug fixes and enhancements #1075

Merged
merged 1 commit into from
Jul 8, 2024

Conversation

Nuru
Copy link
Contributor

@Nuru Nuru commented Jul 7, 2024

what

New Features:

  • Add support for scheduled overrides of Runner Autoscaler min and max replicas.
  • Add option tmpfs_enabled to have runners use RAM-backed ephemeral storage (tmpfs, emptyDir.medium: Memory) instead of disk-backed storage.
  • Add wait_for_docker_seconds to allow configuration of the time to wait for the Docker daemon to be ready before starting the runner.
  • Enhance the ability to have the runner Pods add annotations to themselves once they start running a job.

Changes:

  • Previously, syncPeriod, which sets the period in which the controller reconciles the desired runners count, was set to 120 seconds in resources/values.yaml. This setting has been removed, reverting to the default value of 1 minute. You can still set this value by setting the syncPeriod value in the values.yaml file or by setting syncPeriod in var.chart_values.
  • Previously, RUNNER_GRACEFUL_STOP_TIMEOUT was hardcoded to 90 seconds. That has been reduced to 80 seconds.
  • The inaccurately named webhook_startup_timeout has been replaced with max_duration. webhook_startup_timeout is still supported for backward compatibility, but is deprecated.

Bugfixes:

why

New Features:

  • Enable having idle runners during work hours without having to pay for them during non-work hours.
  • Enable packing more Runners onto an instance without being constrained by disk I/O.
  • Allow for extended disk I/O waits when some Runner gets greedy.
  • Intended to make idle Runners interruptible and running runners uninterruptible under Karpenter, but it does not work well enough for that. Still, we implemented the feature, so we might as well leave it in. Adds logging to help diagnose race conditions.

Changes:

  • More responsive scaling
  • Increases the chances the runner will successfully deregister itself
  • The old name was extremely confusing, while the new name is much more reflective of its impact

Bugfixes:

  • Restore intended operation

references

@Nuru Nuru requested review from a team as code owners July 7, 2024 23:18
@Nuru Nuru merged commit 9642947 into main Jul 8, 2024
5 checks passed
@Nuru Nuru deleted the arc-upgrade branch July 8, 2024 16:06
goruha pushed a commit to cloudposse-terraform-components/aws-eks-actions-runner-controller that referenced this pull request Nov 27, 2024
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.

2 participants