Autoscaling plugins are now configurable on the Worker Pool objects.
This is very VERY new and needs some help testing.
The autoscaler assumes you are using some automation of your own that specifies the worker image, or otherwise pushes and maintains the worker code. That is to say, it's basically a facility for deciding how many nodes you need, then calling something like Cloud Formation or Terraform to make sure you have the right number of nodes.
It doesn't speak AWS API, Kubernetes API, or OpenStack API or anything like that directly - That being said, I welcome people to build plugings that DO these things, pull requests would be welcome if the interfaces are stable.
The autoscaler requires a management process to issue autoscaling commands
To actually run the autoscaler, pick a single node and run:
python manage.py autoscaler --queue
As part of this series of commits I have also added some commands that help the worker nodes terminate early if they have no work to do, or if they have been running for a while, intended to be used only with ephemeral build nodes.
And both are described in the documentation.
This is just a start and can likely be improved in lots of ways.
Documentation here: http://docs.vespene.io/autoscaling.html
What's pretty nice is this took just a DAY to add, so hopefully showcases some of the quick things you do with the Vespene plugin model and database model if you scan through the commits.
Questions/comments/thoughts/feedback/docs-feedback ideas? Let me know what you think.