Runner Auto-scaling for AWS EC2
This epic is work required to be confident running production, autoscaled workloads in AWS with the new Taskscaler architecture. # Requirements ## Experimental We can continue developing the plugin with confidence that it will continue working. * [x] `fleeting-plugin-aws` is [published](https://gitlab.com/gitlab-org/fleeting/fleeting-plugin-aws/-/issues/3 "Automatically release fleeting-plugin-aws to gitlab-runner-aws package repo") to a [package repository](https://gitlab.com/gitlab-org/fleeting/fleeting-plugin-aws/-/issues/2 "Create gitlab-runner-aws package repository") * [x] At least 1 automated [end-to-end tests installs and uses the AWS plugin to run a job](https://gitlab.com/gitlab-org/fleeting/fleeting-plugin-aws/-/issues/4) * [x] The most critical packages are [unit tested](https://gitlab.com/gitlab-org/gitlab-runner/-/issues/29318) and those tests block release * [ ] An integration tests verifying scale up and down passes and blocks release * [x] Documentation for the newly introduced executors and the autoscaler configuration options ## Beta We have high confidence the plugin is correct and automated tests to verify it remains so. * [x] `fleeting-plugin-aws` build and publication is automated * [x] All packages are [unit tested](https://gitlab.com/gitlab-org/gitlab-runner/-/issues/29318) and block release * [x] [Integration tests verifying Runner-Taskscaler behavior for a variety of autoscaling scenarios](https://gitlab.com/gitlab-org/fleeting/taskscaler/-/issues/3 "Runner-Taskscaler integration tests") * [x] [Integration tests verifying Fleeeting-AWS Plugin](https://gitlab.com/gitlab-org/fleeting/fleeting-plugin-aws/-/issues/7) for a variety of provisioning scenearios * [ ] Any bugs coming up during testing which affect correctness are fixed ## GA We have high confidence the new system is at least as good as the old system. * [x] Load tests prove Taskscaler system is at least as stable and performant as the Docker Machine system * [x] Any bugs coming up during testing which affect performance are fixed # Further reading - Taskscaler Provider section of the Next Runner Auto-scaling blueprint: https://docs.gitlab.com/ee/architecture/blueprints/runner_scaling/index.html#taskscaler-provider - Taskscaler 101: https://youtu.be/GU81g2oOtAQ. This is a code walkthrough and demo of how Taskscaler and Fleeting fit into the existing Runner (23 minutes). - Code locations: https://gitlab.com/gitlab-org/fleeting - Development instructions: https://docs.gitlab.com/runner/development/#new-auto-scaling-taskscaler-in-gitlab-runner-since-1560
epic