Open iangcarroll opened 11 years ago
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:
Any update on this?
Rebased onto current master at https://github.com/KariusDx/vagrant-aws/tree/spot
If I could vote more than +1 this I would
any ETA when this will be in master?
+1
+1
+1
+1
+1
There have been outstanding PRs for this feature for over a year. @mitchellh - What can the user community do to help get this accepted and released in the main branch?
@mitchellh It would be nice to have this feature.
@mitchellh Any plans?
There were issues with EBS settings not being passed through, and tagging wasn't working either. The tagging is more of a fog limitation, but I've added code to tag the server after its up to solve that one.
Created a pull request for https://github.com/KariusDx/vagrant-aws/tree/spot aswell
+1
+1
+1
@rtyler could you assist with this PR?
Is there any development on this request? Pulled the spot_instances branch just to find that it was a stalled branch with broken features. Spot request would be a great addition to the aws plugin
@mblanche Not sure if this helps you: I made a fork with some fixes to get it working. See here: https://github.com/jhedev/vagrant-aws/tree/spot (branch spot
). I'm using it already and it works great. So maybe this is useful until the fixes are merged upstream...
Hi @jhedev I just forked your repo and I'm trying to install the plugin with spot support. Unfortunately, I got this error: Unable to resolve dependency: user requested 'vagrant-aws (= 0.7.2.spot)'. Sorry guys, but I don't understand what I'm doing wrong. These are my steps:
$ git checkout spot
$ gem build vagrant-aws.gemspec
$ vagrant plugin install vagrant-aws-0.7.2.spot.gem
Unable to resolve dependency: user requested 'vagrant-aws (= 0.7.2.spot)'
Can you help me, please?
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