Commit graph

30 commits

Author SHA1 Message Date
95021a4253 Fix booting slots stuck due when cooldown blocks termination
All checks were successful
buildbot/nix-eval Build done.
buildbot/nix-build Build done.
buildbot/nix-effects Build done.
2026-03-05 13:10:10 +01:00
f0fd0f342e Add EC2 runtime test for assume-role path
Some checks failed
buildbot/nix-eval Build done.
buildbot/nix-build gitea:ops/nix-builder-autoscaler#checks.x86_64-linux.buildbot-autoscale-ext-pyright Build done.
buildbot/nix-build gitea:ops/nix-builder-autoscaler#checks.x86_64-linux.package-default Build done.
buildbot/nix-build gitea:ops/nix-builder-autoscaler#checks.x86_64-linux.app-autoscalerctl Build done.
buildbot/nix-build gitea:ops/nix-builder-autoscaler#checks.x86_64-linux.app-nix-builder-autoscaler Build done.
buildbot/nix-build gitea:ops/nix-builder-autoscaler#checks.x86_64-linux.app-default Build done.
buildbot/nix-build gitea:ops/nix-builder-autoscaler#checks.x86_64-linux.buildbot-autoscale-ext-ruff Build done.
buildbot/nix-build gitea:ops/nix-builder-autoscaler#checks.x86_64-linux.package-nix-builder-autoscaler Build done.
buildbot/nix-build gitea:ops/nix-builder-autoscaler#checks.x86_64-linux.nix-builder-autoscaler-integration-tests Build done.
buildbot/nix-build gitea:ops/nix-builder-autoscaler#checks.x86_64-linux.nix-builder-autoscaler-pyright Build done.
buildbot/nix-build gitea:ops/nix-builder-autoscaler#checks.x86_64-linux.nix-builder-autoscaler-ruff Build done.
buildbot/nix-build gitea:ops/nix-builder-autoscaler#checks.x86_64-linux.nix-builder-autoscaler-unit-tests Build done.
buildbot/nix-build Build done.
2026-03-05 12:42:57 +01:00
4c7333ca07 Add optional autoscaler cross-account assume-role support 2026-03-05 12:38:10 +01:00
5092005e05 autoscaler: make instance_type required, no silent skip in preflight 2026-02-28 16:10:17 +01:00
1a355429cb autoscaler: preflight check instance type availability at startup 2026-02-28 16:07:53 +01:00
02b1a063ab support dual launch templates: spot for normal builds, on-demand for nested virtualization
Some checks failed
buildbot/nix-eval Build done.
buildbot/nix-build gitea:ops/nix-builder-autoscaler#checks.x86_64-linux.package-nix-builder-autoscaler Build done.
buildbot/nix-build gitea:ops/nix-builder-autoscaler#checks.x86_64-linux.package-default Build done.
buildbot/nix-build gitea:ops/nix-builder-autoscaler#checks.x86_64-linux.app-autoscalerctl Build done.
buildbot/nix-build gitea:ops/nix-builder-autoscaler#checks.x86_64-linux.app-default Build done.
buildbot/nix-build gitea:ops/nix-builder-autoscaler#checks.x86_64-linux.app-nix-builder-autoscaler Build done.
buildbot/nix-build gitea:ops/nix-builder-autoscaler#checks.x86_64-linux.nix-builder-autoscaler-pyright Build done.
buildbot/nix-build gitea:ops/nix-builder-autoscaler#checks.x86_64-linux.nix-builder-autoscaler-integration-tests Build done.
buildbot/nix-build gitea:ops/nix-builder-autoscaler#checks.x86_64-linux.nix-builder-autoscaler-ruff Build done.
buildbot/nix-build gitea:ops/nix-builder-autoscaler#checks.x86_64-linux.nix-builder-autoscaler-unit-tests Build done.
buildbot/nix-build gitea:ops/nix-builder-autoscaler#checks.x86_64-linux.package-buildbot-autoscale-ext Build done.
buildbot/nix-build Build done.
AWS does not allow cpu_options.nested_virtualization with spot instances. Add a second
launch template (on-demand, cpu_options enabled) alongside the existing spot template.
The autoscaler selects the template per-system based on nested_virtualization config.

- RuntimeAdapter.launch_spot -> launch_instance(nested_virtualization=False)
- EC2Runtime: selects spot or on-demand LT; raises misconfiguration error if
  on_demand_launch_template_id is empty when nested_virtualization=True
- AwsConfig: add on_demand_launch_template_id field
- SystemConfig: add nested_virtualization field
- Scheduler: looks up system config to pass nested_virtualization flag
- NixOS module: new aws.onDemandLaunchTemplateIdFile + capacity.nestedVirtualization
  options; assertion prevents enabling nestedVirtualization without the LT ID file
2026-02-28 10:33:26 +01:00
3f70094c0a logging: add error, category, count, ids, idle_seconds to EXTRA_FIELDS
Some checks reported errors
buildbot/nix-eval Build done.
buildbot/nix-build gitea:ops/nix-builder-autoscaler#checks.x86_64-linux.package-default Build done.
buildbot/nix-build gitea:ops/nix-builder-autoscaler#checks.x86_64-linux.package-nix-builder-autoscaler Build done.
buildbot/nix-build gitea:ops/nix-builder-autoscaler#checks.x86_64-linux.app-autoscalerctl Build done.
buildbot/nix-build gitea:ops/nix-builder-autoscaler#checks.x86_64-linux.app-default Build done.
buildbot/nix-build gitea:ops/nix-builder-autoscaler#checks.x86_64-linux.app-nix-builder-autoscaler Build done.
buildbot/nix-build gitea:ops/nix-builder-autoscaler#checks.x86_64-linux.nix-builder-autoscaler-integration-tests Build done.
buildbot/nix-build Build done.
buildbot/nix-build gitea:ops/nix-builder-autoscaler#checks.x86_64-linux.nix-builder-autoscaler-pyright Build done.
2026-02-28 10:16:07 +01:00
44bc99ab85 add termination cooldown for slot scale-down
All checks were successful
buildbot/nix-eval Build done.
buildbot/nix-build Build done.
buildbot/nix-effects Build done.
2026-02-27 18:37:58 +01:00
e1dbd5c119 re-export flake outputs under checks for CI 2026-02-27 16:48:07 +01:00
a4f642402b require effective config for slots ttl 2026-02-27 16:45:20 +01:00
8fdf2d5e5b add slot ttl output with effective timeout config 2026-02-27 16:43:52 +01:00
d8afde8b18 account for in-flight capacity in launch scheduling 2026-02-27 16:32:16 +01:00
57b4df2a17 improve autoscalerctl help and add bulk slot actions 2026-02-27 16:25:54 +01:00
f0f6020d6a accept tailscale ssh banner in haproxy health checks 2026-02-27 16:25:54 +01:00
e8ee085649 ignore active-only tailscale peers in ip discovery 2026-02-27 16:20:51 +01:00
a7aabdff51 use userdata only to seed ami bootstrap env 2026-02-27 16:03:00 +01:00
3be933f16b add timeout safeguards for all slot lifecycle stages 2026-02-27 15:40:39 +01:00
48ff711f39 updating opts 2026-02-27 15:11:48 +01:00
20338484cc nix: resolve buildbot extension from buildbot python set 2026-02-27 15:01:45 +01:00
9275d2cc8a flake: build buildbot-autoscale-ext with python3 2026-02-27 14:55:50 +01:00
f6e47d592c nix fmt 2026-02-27 14:49:50 +01:00
93749a66a9 add nixos modules 2026-02-27 14:49:05 +01:00
d739c63559 expose buildbot-autoscale-ext as individual Python package; rename venv to -venv suffix 2026-02-27 14:49:05 +01:00
2f0fffa905 agent: complete plan05 closeout 2026-02-27 14:49:05 +01:00
33ba248c49 agent: implement api 2026-02-27 12:46:32 +01:00
b63d69c81d add runtime adapters, scheduler, reconciler, and their unit tests 2026-02-27 12:34:32 +01:00
d1976a5fd8 add buildbot extension for autoscaling nix builders 2026-02-27 12:17:36 +01:00
ea12318b88 add license 2026-02-27 11:59:58 +01:00
28059dcedf WIP autoscaler agent 2026-02-27 11:59:16 +01:00
c610a3e284 init 2026-02-27 10:25:17 +01:00