Support Spot Instances
Testing costs could be lowered from 3 cents an hour to .003 cents an hour.
Edited to remove development from issue, tralamazza has a point
could be nice, but spot instances might be killed at any moment, good for fault tolerant tasks
I have this on my mind as well. Not for development per se, but as a way to spin up a temporary big box at low cost without all this ec2rsi -t blah -f blah -p blah stuff, and without having to fit all the setup in just one file.
I'd be willing to take a stab at implementation but I need to learn a bit more about Vagrant's architecture. In particular, it would be preferable to me to specify the price limit and instance type on the command line, but I don't know if providers can specify their own command line options.
I think this would be perfect for Vagrant-style development where creating a dev environment can be "cheap"
I'd love to look into this.
I looked into spot instance requests, they are extremely slow (5 to 10 minutes sometimes). I have a prototype implementation which records a spot request id in the data_dir. I don't know if that is the correct approach. Maybe the simplest would be to implement separate commands for that.
Oh great! I was going to look into this later this week because it's something I really want: an easier interface for one-off spot instances to do big crunching. Can you throw your code up into a branch on your fork?
@tralamazza Bumpity bump! Do you think you'll keep going with yours?
:+1:
~~I will push my work here https://github.com/tralamazza/vagrant-aws/tree/spot_commands~~
Thanks! I'll take a look when I get some time. Are you still working on it?
I have a working version here.
To use it you must specify the spot_max_price and set spot_instance to true.
# ...
aws.region_config "eu-west-1" do |region|
# ...
region.spot_instance = true
region.spot_max_price = "0.2"
end
$> vagrant up --provider=aws
Note: these are one-off spot requests. Note2: this branch also contains PRs #31 and #93
+1
@mitchellh Do you have a plan to merge this feature from the @tralamazza 's branch? If there is something to do, I wanna contribute it.
:+1:
Anyone tried this patch? Any feedback?
@tralamazza I tried your changes and it works well. I fixed a minor problem at https://github.com/nabeken/vagrant-aws/commit/86ff6b62e48dd8e8467f0d8a58e31480235ec53b
A parallel acceptance test with a combination of vagrant-aws + spot instance + Jenkins dramatically accelerates the tests and also keeps down costs:satisfied:
@nabeken nice! thanks.
Vagrant + Spot instances would be great!
I would like to get it
Implementing it will be very useful.
:+1:
Building on the work @nabeken did, I've merged in the latest changes from master at https://github.com/varju/vagrant-aws/commit/0bb9f27454b7a40dfcecde0bfc86d89f665771e0
I'd love for this to get merged. It's incredibly useful and will save me a lot of money! :+1:
FYI: I've rebased spot instance support on current master at https://github.com/nabeken/vagrant-aws/tree/spot-3
This would be useful for me too.
:+1:
oh yes please :+1:
+1
:+1: Would be an awesome feature. In the meantime, I'm going to check out @nabeken's implementation.
:+1: any ETA for release?
:+1: for merging this
I want this feature :+1: