For anyone who doesn't know. Vagrant acts like a wrapper around VMware, VirtualBox, or even AWS, so that you can easily automate testing. You can also share your Vagrant boxes (images) with others in an easy manner. Vagrant is one of those things, that once you start to use it, you wonder how you managed without it. I have created several screencasts about Vagrant:
Hey, these are great screencasts, just what I was looking for. Would be awesome to see a screencast that shows how to get an EC2 instance up and running using vagrant.
I've just spent 5 minutes trying to learn what Vagrant is and how it works. The home page didn't help me with that AT ALL. It's full of vague terms like "development environment" and "work environment" and buzzwords claiming to "maximize productivity".
In your About page, please describe the typical USAGE SCENARIOS of your software and how does it help in those cases exactly.
This is linked in the 2nd sentence in the getting started section that is linked from one of the two biggest call-to-actions on the homepage: http://docs.vagrantup.com/v2/why-vagrant/
I had hoped that their Docker support would be some magical mechanism that would treat Docker as a kind of VirtualBox. That is, instead of using VirtualBox to create VMs, they would use Docker to create containers. 'vagrant ssh' would then SSH directly into a container instead of the host VM.
Sadly, their Docker support is just a provisioner. :( I can do that myself too in a shell script.
There's not really a way to do that uniformly right now on any system that isn't Linux. I agree that it would be ideal, but the core philosophy behind Vagrant is a single configuration recipe to create portable environments (development). You can do a lot of things in shell scripts, but its still easier to have it all in one place in an easily grokable format.
We're using vagrant and ansible to manage local dev instances with the same ansible scripts responsible for provisioning/deployment to our production boxes. My thought being the less I manage with vagrant, and the more I codify stuff in ansible, the more predictable things are when I go to provision/deploy in production.
I'm thrilled with how vagrant helps the process locally, but at the same time want to do as little as possible in vagrant because it's not applicable/involved when I provision/manage a box @ Linode or Digital Ocean.
Am I under-utilizing vagrant? Or missing a greater benefit by limiting its role?
I'm afraid of upgrading vagrant now like I am afraid of upgrading bootstrap.
Too many things break - it's simply not worth the trouble of upgrading and finding all the gotchas scattered all over the place in my config files and code.
I started the vagrant-spec project to address this. A system like Vagrant is hard to fully unit test because there are a lot of side-effecty things that it does. In many cases, the best way to test it is to run things in a real-life scenario.
vagrant-spec includes a acceptance suite that we're going to be building up in order to test more of the features in a black box manner. It is slow to run but if we verify that things are passing before a release, we should be able to catch most daily use cases.
Vagrant 1.4 is the first release to run through vagrant-spec and while there are some early bug reports in some fringe areas of Vagrant trickling in, Vagrant seems to be a drop-in upgrade for most users. This shows that it is working, to some extent. And it'll only get better.
Of course, if you're nervous about it, it doesn't hurt to wait for a 1.4.1 or so on.
Congratulations to mitchellh and the Vagrant team. Vagrant is a fantastic tool for streamlining workflows, but also an amazing educational opportunity. Disposable Linux servers: Play, experiment, destroy, try again. Thank you for this, I can't believe how much I've learned.
> Work will begin on pulling the Vagrant AWS integration into the core distribution -- to start -- so that you can use Vagrant with AWS (and other providers) right after installing it and without having to juggle plugin versions.
This is awesome, I can't wait. I've been waiting for this!
Most of my projects right now have had all of their Vagrant plugin dependencies, including Vagrant itself, in the Gemfile because I wanted to make sure any developer could get a workable development environment without worrying too much about Vagrant versions. On one hand I like the fact that I can install up-to-date plugins this way, but on the other hand I just want it to work out of the box.
Although I doubt we'll be able to get away from this. More likely it will cause other frustrations such as needing to override a plugin with a monkey patch, etc.
This is fantastic! I just used Vagrant to help automate testing on an email library I wrote (https://github.com/tedivm/Fetch, if anyone is interested- new tests are in the "testing" branch).
Vagrant made setting that up really easy. In fact, the hardest part was scripting different responses for whether the machine was already up or not, and the new Machine-Readable Output will make that far, far easier.
Probably not the right venue, but I'm a bit disappointed addressing the plugin versioning situation isn't listed as a thing for 1.5. There are plugins for managing plugins but they're really less than ideal.
I'd honestly just like to use bundler for it, since it's almost certainly better than anything anyone's likely to make to replace it, but using bundler to run vagrant is currently considered bad for some reason and outputs a frightening warning.
Bundler doesn't work with Vagrant because Vagrant ships with its own Ruby and RubyGems and all that. So... your Bundler you're executing has a really screwed up state of the world.
Its something that certainly needs to be solved, but I think solutions needs more time to mature in my head as well as others.
Vagrant is an awesome tool for CI. I have used it extensively with Jenkins to provision environments, AWS deployments and Digital Ocean Servers.
Recently I have used vagrant to easily manage OSX 10.8 guests on vmware-fusion, as the demand to provision environments for ios-related development is on the increase. I am not aware of any other tool that makes this easier. Vagrant RAWKS!
So you can now enforce vagrant versions in your Vagrantfile, which is great, but this is a new feature thus older versions of vagrant won't honour it...so this feature is useless for me, at least for a while. I will continue to do this: https://gist.github.com/badsyntax/7803472
[+] [-] WestCoastJustin|12 years ago|reply
Learning Vagrant @ http://sysadmincasts.com/episodes/4-vagrant
Create a Vagrant box with Veewee @ http://sysadmincasts.com/episodes/5-create-a-vagrant-box-wit...
Learning Puppet with Vagrant @ http://sysadmincasts.com/episodes/8-learning-puppet-with-vag...
Managing Iptables with Puppet @ http://sysadmincasts.com/episodes/18-managing-iptables-with-...
[+] [-] xwowsersx|12 years ago|reply
[+] [-] haberman|12 years ago|reply
[+] [-] concise_unicorn|12 years ago|reply
[+] [-] kyberias|12 years ago|reply
In your About page, please describe the typical USAGE SCENARIOS of your software and how does it help in those cases exactly.
[+] [-] mitchellh|12 years ago|reply
I'm sorry you couldn't find that!
[+] [-] coldtea|12 years ago|reply
Well, it's 2013 and you're on HN. If you don't already know what Vagrant is, then perhaps you're not the most qualified information seeker.
[+] [-] FooBarWidget|12 years ago|reply
Sadly, their Docker support is just a provisioner. :( I can do that myself too in a shell script.
[+] [-] johnbellone|12 years ago|reply
[+] [-] bryanlarsen|12 years ago|reply
[+] [-] TheHippo|12 years ago|reply
[+] [-] misnome|12 years ago|reply
Anyone aware of an open source alternative to the official VMWare provisioner?
[+] [-] i386|12 years ago|reply
[+] [-] unknown|12 years ago|reply
[deleted]
[+] [-] eyepulp|12 years ago|reply
I'm thrilled with how vagrant helps the process locally, but at the same time want to do as little as possible in vagrant because it's not applicable/involved when I provision/manage a box @ Linode or Digital Ocean.
Am I under-utilizing vagrant? Or missing a greater benefit by limiting its role?
[+] [-] NDizzle|12 years ago|reply
Too many things break - it's simply not worth the trouble of upgrading and finding all the gotchas scattered all over the place in my config files and code.
[+] [-] mitchellh|12 years ago|reply
vagrant-spec includes a acceptance suite that we're going to be building up in order to test more of the features in a black box manner. It is slow to run but if we verify that things are passing before a release, we should be able to catch most daily use cases.
Vagrant 1.4 is the first release to run through vagrant-spec and while there are some early bug reports in some fringe areas of Vagrant trickling in, Vagrant seems to be a drop-in upgrade for most users. This shows that it is working, to some extent. And it'll only get better.
Of course, if you're nervous about it, it doesn't hurt to wait for a 1.4.1 or so on.
[+] [-] cleaver|12 years ago|reply
[+] [-] joemaller1|12 years ago|reply
[+] [-] peter_l_downs|12 years ago|reply
This is awesome, I can't wait. I've been waiting for this!
[+] [-] johnbellone|12 years ago|reply
Most of my projects right now have had all of their Vagrant plugin dependencies, including Vagrant itself, in the Gemfile because I wanted to make sure any developer could get a workable development environment without worrying too much about Vagrant versions. On one hand I like the fact that I can install up-to-date plugins this way, but on the other hand I just want it to work out of the box.
Although I doubt we'll be able to get away from this. More likely it will cause other frustrations such as needing to override a plugin with a monkey patch, etc.
[+] [-] tedivm|12 years ago|reply
Vagrant made setting that up really easy. In fact, the hardest part was scripting different responses for whether the machine was already up or not, and the new Machine-Readable Output will make that far, far easier.
Thanks for making a great tool better!
[+] [-] stormbrew|12 years ago|reply
I'd honestly just like to use bundler for it, since it's almost certainly better than anything anyone's likely to make to replace it, but using bundler to run vagrant is currently considered bad for some reason and outputs a frightening warning.
[+] [-] mitchellh|12 years ago|reply
Its something that certainly needs to be solved, but I think solutions needs more time to mature in my head as well as others.
[+] [-] peteridah|12 years ago|reply
[+] [-] mradmin|12 years ago|reply
[+] [-] fsargent|12 years ago|reply
https://github.com/phinze/homebrew-cask/pull/2027
$ brew update
$ brew cask install vagrant
[+] [-] pezh0re|12 years ago|reply
[+] [-] poseid|12 years ago|reply
[+] [-] yeukhon|12 years ago|reply
[+] [-] andyl|12 years ago|reply