11 ms·
Vagrant 2.0
- sciurus 9y agoDoes the major version bump signify any major changes? The blog post and changelog don't seem to describe any.
- randlet 9y ago"Vagrant 1.0 was released in 2013 as a stable release. Vagrant 1.0 only supported VirtualBox as a provider, only supported a handful of Linux operating systems as guests, and supported a simple up/destroy workflow. Since Vagrant 1.0, we've added support for multi-providers such as VMware and Docker, guests such as Windows, macOS, and complex workflows including snapshots. These major changes are followed by hundreds of improvements and bug fixes."
- acranox 9y agoI think the person you replied to was asking about major changes from the last 1.x release, to v2.0. Of which, there don't appear to be any major ones.
- raziel2p 9y agoOnly one backwards incompatible change in the changelog. I think they just went the wordpress route and didn't want to bump from 1.9 to 1.10.
- jimmar 9y agoJust from the version number I thought there'd be a few major changes, but really it just seems like another point release that happens to increment the major version number. (Which is totally fine by me. I rely on Vagrant a lot and I'm glad the new version doesn't introduce breaking changes). Change log is here: https://github.com/mitchellh/vagrant/blob/v2.0.0/CHANGELOG.md https://github.com/mitchellh/vagrant/blob/v2.0.0/CHANGELOG.m...
- hosh 9y agoYup, seems more like a marketing thing to me. I couldn't find any compelling features. On the other hand, the stability improvements are great to have -- my team doesn't really want to be thinking about vagrant when trying to work on our projects.
- mitchellh 9y agoIts a focus on stability and we don't want you to be thinking about Vagrant either when you upgrade. We just want it to work. :) However, I want to be clear its not a marketing tactic in any way (re: hosh below, with an excellent comment!). It ends up being that implicitly but we waited and developed Vagrant 1.x for 5 years prior to calling it a 2.0 because we had a lot of goals we wanted to achieve: multi-provider, fantastic Windows support, stable installers, etc. We feel we've now achieved that in a very stable way, so its time to call it 2.0. This breakpoint for us allows us to begin planning and executing on larger changes. Of course, we'll do all of this thoughtfully since Vagrant is definitely a tool you want to "just work" today and not think about breaking your envs. I admit this does happen from time to time though and I'm sorry about that, but we're getting better.
- SiVal 9y agoThe actual nature of the product itself is what ultimately matters, of course, and I hear your's is outstanding, so good work. It's a less-important issue and just a convention, not a law, but normally v1.36.12 tells me "focused on stability and just working--boring but rock-solid", while 2.0.0 tells me "first release of great, new features--amazing but don't put too much weight on it yet". I wouldn't ordinarily think of 2.0.0 as the most-stable version of 1.x with 2.0.1 being the less-stable introduction of the great, new features.
- anonymousDan 9y agoI would think the opposite can often be the case. Usually a major version is where you get to remove a load of unused features since you can make breaking changes.
- swills 9y agoStill doesn't support Ruby 2.4
- bpicolo 9y agoHow so? Can you not install whatever you want with Vagrant? https://rvm.io/integration/vagrant https://rvm.io/integration/vagrant
- eropple 9y agoWrong way around. Hashicorp decided to release Vagrant as an omnibus installer that packages an embedded Ruby, which (apparently? I haven't checked, I'm going off the earlier post) isn't Ruby 2.4. They also killed off the gem-distributed version--which is still, to this day, a huge pain in the rear, to the point where I build my own Vagrant so it doesn't use its own weird out-of-the-way Ruby.
- bpicolo 9y agoAh, gotcha
- jitl 9y agoIn the change log, I’m happy to see “improved the resilience of some Virtualbox commands.” At Airbnb, we used to use Vagrant with Virtualbox and the Chef provisioner to create our dev environments, but we migrated totally away from Vagrant after struggling with Virtualbox bugs, and strangeness with Vagrant’s internal state and locking. Seems like this issue is finally addressed: https://github.com/mitchellh/vagrant/issues/8468 https://github.com/mitchellh/vagrant/issues/8468 Vagrant is a fantastic tool because of its flexibility, but that flexibility comes at cost: there are sometimes bugs and performance issues where the different Vagrant components don’t quite mesh perfectly.
- growtofill 9y agoWhat did you end up using instead of Vagrant?
- jitl 9y agoWe re-implemented Vagrant's Chef provisioning feature on top of OpenSSH with ControlMaster. This cut about 3 mystery seconds mystery time from our provision process. Instead of targeting local Virtualbox VMs, we use AWS boxes created by the internal tool we use to manage our production fleet.
- deleted 9y ago[deleted]
- scrollaway 9y agoVagrant's really falls short of its promise of "the exact same dev environment for everyone" in my experience, especially because of VirtualBox issues such as, for example, relative symlinks breaking if done in a shared folder on a mismatched guest/host OS. It's been such a source of frustration that there is no better shared folder alternative. VirtualBox is the only usable cross-platform backend, and vbox shared folders are the only way to have two-way syncing between guest and host. I don't understand why it's so poorly supported :/
- 9y ago
- Kiro 9y agoHow does Vagrant work with Docker? Why do you need Vagrant if you're using Docker?
- choward 9y agoVagrant abstracts virtual machines. If you want to simulate multiple machines on the same computer you need VMs. You can have multiple docker containers running in those VMs that communicate across VMs. You can then deploy to real hardware having tested the communication across machines.
- justinhj 9y agoYou can also run multiple docker-machine instances which can run on say VirtualBox. This is a how we have developers learn about and test Docker Swarm on a single machine. I've really run out of use cases for Vagrant at this point.
- Pirate-of-SV 9y agoDocker performs much better on a VirtualBox VM than the VM used by Docker for Mac
- n42 9y agoThis is, in my experience, not true. Anecdotally, xhyve has performed much better for Docker; especially when choosing the appropriate method for volume mount consistency[1], which has solved most FS performance issues I have run into. [1] https://docs.docker.com/docker-for-mac/osxfs-caching/ https://docs.docker.com/docker-for-mac/osxfs-caching/
- wuunderbar 9y agoVagrant lets you provision in a codified manner full-fledge VMs. This code can be pulled down by your developers to deploy a development environment on their machines. Inside of this you can choose to run containers of your apps with proper tooling built around it.
- KZeillmann 9y agoWhat's the use case where I'd want to use Vagrant instead of Docker?
- eropple 9y agoCompleteness of stack. If you're under the impression that your runtime ends where the Docker container does, that will eventually bite you--it's very rare for my workstation to be running the same kernel version as my servers and I've been bitten multiple times in the past by kernel bugs due to differences in version, so even if I use Docker (which is rare) I run it through a known-good virtual machine that mirrors production as closely as possible. (Vagrant also has a Docker provider, but I can't think of a good reason to use it.)
- dahdum 9y agoIt's great for complex apps with multiple dependencies, but if you plan on never needing full VMs likely not worth it. I'm used to liberally using crontab, iptable rules, multiple languages, and not deploying separate containers / vms if I need something like Redis. For some of them I'd end up with 6-8 containers if I went that route.
- thrownhwn 9y agoDocker is a fragmented mess network wise if you need to support developers on both windows and macOS. Also, docker requires hyper-v and admin privs on Windows. And you can't run VirtualBox with hyper-v active so you need to choose either of the two options. Granted, you could run Docker in virtualbox but it wouldn't be very clean.
- spilk 9y agoThe whole Hyper-V thing with the default Docker for Windows stuff has put me off - is there a workaround to go back to using a VirtualBox VM again? I do a fair amount of development on Windows machines along with Mac/Linux so I need something that works consistently among all those platforms. Vagrant is filling the void for some of those projects since it just works with no fuss on Mac/Windows/Linux without forcing me to use Hyper-V.
- kayoone 9y agosince i am using docker-compose locally, i have little use for vagrant nowadays. For staging and production the docker containers run inside a Kubernetes environment which i don't want to replicate locally. Am i missing something ?
- orev 9y agoI guess the main thing you're missing is that it you're not obligated to comment on things that don't apply to you?
- drdrey 9y agoharsh
- trapperkeeper74 9y agoSnowflake SJW is triggered.
- sctb 9y agoPlease don't post like this here, it breaks the guidelines by being uncivil and unsubstantive. https://news.ycombinator.com/newsguidelines.html https://news.ycombinator.com/newsguidelines.html
- bdcravens 9y agoIt seemed like a pretty legitimate question: is there a compelling reason to give Vagrant 2 a look if Docker/Kubernetes is your current workflow? It seems to me you took it as more of an us-vs-them comment.
- emddudley 9y agoYou probably wouldn't look at Vagrant if you are using Docker/Kubernetes. Vagrant (virtual machines) and Docker (containers) fill different niches. If you can accomplish your work with containers then you don't need to manage virtual machines.
- erikb 9y agoNot to pull down the emotions here, but if the whole blog post is not saying more than "Hashicorp Vagrant 2.0" I doubt that there will be some meaningful content in that version. Was Vagrant bought by Hashicorp or something? Why not announce that?
- Goopplesoft 9y agoIt is owned by Hashicorp. Hashicorp was a company built around Vagrant initially.
- erikb 9y agoI see, then I don't understand this blog post at all. Is my expectation weird that an anouncement blog post for a major version +1 should contain some features? Or have I just missed that part in the article?
- dugmartin 9y agoMitchell Hashimoto created Vagrant - he is the "Hashi" in Hashicorp (https://www.hashicorp.com/blog/announcing-hashicorp/ https://www.hashicorp.com/blog/announcing-hashicorp/)
- geerlingguy 9y agoSince many people are still not too familiar with Vagrant (it doesn't seem to have the cachet of Docker for local dev environments), here are a few example Vagrant configurations that I use to build different servers for local testing/debugging: https://github.com/geerlingguy/ansible-vagrant-examples https://github.com/geerlingguy/ansible-vagrant-examples There are plenty of other great examples of Vagrant usage around the web, too, from Laravel's Homestead to (disclosure, I maintain it) Drupal VM. It seems a lot of older applications / communities migrate towards Vagrant as some of the things they do are harder (or at least not as straightforward yet) to implement in containers.
- neovive 9y agoHomestead is wonderful! I've been using it for years for Laravel development. Thanks!
- Blaine0002 9y agoHe meant Drupal VM :)
- baby 9y agoI'll still add that Homestead and Laravel are amazing.
- porkloin 9y agoThanks for all your hard work on DrupalVM, Jeff :)
- ArlenBales 9y ago> Since many people are still not too familiar with Vagrant (it doesn't seem to have the cachet of Docker for local dev environments) That's only a recent trend. Up until Docker became the standard a couple years ago (or whenever Docker for Mac was made stable), Vagrant was the standard for dev environments. The primary reason Docker succeeded Vagrant for dev environments is speed. Docker can have my dev environment up from scratch in seconds, but with Vagrant it took minutes.
- thrownhwn 9y agoAnybody know if they has code-signed their Windows and macOS binaries with 2.0? It's a shame so many "core" developer tools are not code-signed. It makes life hard in companies where binary whitelisting is used.
- trapperkeeper74 9y agoIt also creates an unnecessary attack surface against core infrastructure.
- korzun 9y ago> It makes life hard in companies where binary whitelisting is used. The application would still have to be audited, signed or not, prior to whitelisting.
- sslalready 9y agoIn practise it's much easier to just trust well-known developers by whitelisting their code-signing certificates. You could still get owned, of course, but the benefit here is that you're excluding everything not explicitly whitelisted, including drive-by downloads, crap on portable devices or random programs downloaded off the internet that someone thinks will solve their problem of the day. When people do not code-sign their software every software update is painful. At work, where we run https://github.com/google/santa https://github.com/google/santa, it frequently happens that companies with code-signed software forget to code-sign their auto-updater, or random binaries that run during installation. Most of the time the application crashes/hang during the update (because some piece weren't allowed to run), only to remind to you update the software again when you restart the application.
- aoeuasdf1 9y agoDoes santa work with brew? If not, how do you even function?
- sslalready 9y ago
- leetrout 9y agoI just realized they discontinued Otto (shows how far out of the loop I am). Sounds like _some_ of the mission for Otto lives on... https://www.hashicorp.com/blog/otto/ https://www.hashicorp.com/blog/otto/ https://www.hashicorp.com/blog/decommissioning-otto/ https://www.hashicorp.com/blog/decommissioning-otto/
- swrobel 9y agoDoes this incorporate any of the work that was done on Otto?
- dmix 9y agoDoes anyone find Vagrant useful for personal projects? Or is it only useful for team settings?
- lbrambrink 9y agoI actually use it quite a lot for personal projects, at least those that I intend on deploying to a server. It's nice to work in the exact environment the application will end up in, not to mention that certain tools only exist/work properly in a particular environment. To me, it only enhances the development process.
- amorphid 9y agoOn my Mac, I tend to use Vagrant w/ Virtualbox when I want to run Linux locally for any reason.
- joshribakoff 9y agoYou need to provision one or more dev environments (for me two. On my Linux desktop and on my MacBook Air). The ansible configs are also used to provision production servers. If you end up with a failed hard drive it can save a lot of time rebuilding
- marcosscriven 9y agoThere are still times I look to Vagrant instead of, and alongside, Docker. The reason being Docker for Mac uses a VM anyway (an xhvye machine) - it does try to hide/abstract this away, but inevitably this leaks. The xhyve VM has the usual parameters memory, diskspace, CPUs, and not least a kernel. There are limited options to fiddle with these parameters, though you can log into it and poke around there. I thus find it easier to just have setup Vagrant machines with Docker - then I have better control over those things. If I were on a Linux distro though, I'd probably use Vagrant a lot less.
- alinspired 9y agoVagrant with KVM/libvirt works great on Linux and doesn't stop you from using docker. VirtualBox is inconvenience on Linux, not Vagrant
- hmsimha 9y agoMostly, though the vagrant-libvirt provider is still a separate plugin, and hasn't reached 1.0 yet, probably due to several rough edges. edit: I should also mention that vagrant-libvirt doesn't even work on Vagrant 2.0.0, due to https://github.com/vagrant-libvirt/vagrant-libvirt/issues/768 https://github.com/vagrant-libvirt/vagrant-libvirt/issues/76...
- fulafel 9y agoThe community is built on Vagrant-VB configs and images, so you don't really get the main benefit of Vagrant if you want to use it with something else than VirtualBox.
- 4ad 9y agoI disagree by saying that I don't think you really get the main benefit of Vagrant if you want to use it with other people's boxes. Also, since the rise of virtio (thank goodness), you can easily make boxes that work on VB/VMware/KVM, and probably others too, and indeed, many boxes work like that.
- 9y ago
- joshrivers 9y agoAny thoughts towards integrating Docker's VPNKit with Vagrant to provide transparent networking services to the development VMs?
- deleted 9y ago[deleted]
- digitalzombie 9y agoSweet. I love vagrant. I recently got to program again and set up a box and was pleasantly suprise that it does self provisioning too. I wrote up ansible script and self provision my box.
- gaius 9y agoI like Vagrant as a concept but on Azure at least, it's pretty bad at clearing up after "vagrant destroy", and people I know report similar with VirtualBox. To the point at which you might as well just bake an image and clone it, which is very easy.