hashicorp / vagrant

Vagrant is a tool for building and distributing development environments.
https://www.vagrantup.com
Other
26.19k stars 4.43k forks source link

Support VMWare Fusion #605

Closed behrangsa closed 12 years ago

behrangsa commented 12 years ago

Support VMWare Fusion as an alternative to VirtualBox on Mac OS X Lion.

mitchellh commented 12 years ago

Closing this since it won't be relevant until after Vagrant 1.0 (soon), and I want to keep issues to that version for now.

But: I plan on it! :D

cicloid commented 12 years ago

I was thinking on working on this. What exactly is this feature waiting?

mitchellh commented 12 years ago

It requires some pretty deep architectural changes unfortunately. Another issue is that the vmrun command line API isn't quite powerful enough so I'm going to have to learn and modify VMX files directly, and I'm not quite sure what the spec is of that since it is not an open format. If you have any knowledge on this, it would be greatly appreciated if you could share it :)

pmenglund commented 12 years ago

Instead of using vmrun use the VIX API with something like https://github.com/rhythmx/vixr

mitchellh commented 12 years ago

@pmenglund Hm, I thought I remember reading that VMWare Fusion is the only VMWare virtualization product (other than player) that doesn't support the VIX API?

pmenglund commented 12 years ago

Doh! Yes, Fusion doesn't have the VIX API :(

I run ESXi in Fusion so I forgot that it doesn't support it...

janschumann commented 12 years ago

The vmrun uses the VIX API and supports Fusion. Why do you think vmrun is not powerful enough?

I would like to give it a try to implement VMWare driver with vmrun. Can anyone give me a good starting point?

vjanelle commented 12 years ago

VMWare Fusion 5 has the full VIX API now, according to it's docs.

mitchellh commented 12 years ago

Yep. :)

ithinkihaveacat commented 12 years ago

Actually, I think only Fusion's "Professional" edition supports the VIX API (see the feature list). Still, here's hoping vagrant will support it!

vjanelle commented 12 years ago

Yeah, I think you're correct. The 4.x to 5.0 upgrade only counts towards the professional version though, interesting.

ithinkihaveacat commented 12 years ago

@mitchellh is apparently working on VMware Fusion support: http://news.ycombinator.com/item?id=4547275

dzuelke commented 11 years ago

@ithinkihaveacat @vjanelle Reading http://www.vmware.com/support/fusion5/doc/fusion-50-release-notes.html#Hardware it seems that all editions support VIX. It's probably not highlighted on the "consumer" feature list because it's irrelevant to the average dude who just wants to play Minesweeper on Windows.

mitchellh commented 11 years ago

I am working on this.

phillpafford commented 11 years ago

Looking forward to this, is there a feed/blog/etc where we could get the status of this effort?

robbyt commented 11 years ago

I would pay for "Vagrant Pro" if it meant that I didn't have to use VirtualBox

mitchellh commented 11 years ago

No feed or blog (YET!) but watch for news in the next couple weeks.

@robbyt Heh, thanks! :)

gardner commented 11 years ago

I would love to be able to use vmware fusion with vagrant to test on osx vms!

jeffweiss commented 11 years ago

@mitchellh I know you're working on VMware support for Vagrant. As a hacksgiving project, I created vixen which provides more ruby-ish access to the VIX API (and works with Linux/VMware Workstation just the same as OSX/Fusion). It's not nearly complete, but I'm working on it in my spare cycles. I've convinced a couple fission users around the Puppet Labs office to try it out.

wolfeidau commented 11 years ago

Gday just wondering if there was any movement on this, really looking forward to using vagrant again.

As a fusion owner if there is any posts on the VMWare forum you want me to comment on or people to hassle please let me know.

fringd commented 11 years ago

want want want :) can't have this fast enough, virtualbox is a bit of a mess on linux, and it's holding me back from getting to use vagrant :(

vrillusions commented 11 years ago

+1

mitchellh commented 11 years ago

This is done:

http://vimeo.com/hashicorp/vagrant-vmware-fusion-provider-preview

Expect a release this month. VMware Fusion is coming.

pencil commented 11 years ago

Nice :+1:

gardner commented 11 years ago

AWESOME!

dropwhile commented 11 years ago

can't wait! :smiley:

dcolebatch commented 11 years ago

:+1:

:smiley:

brandonarbini commented 11 years ago

Hey @mitchellh, any chance of another update? I've been wrestling with virtualbox for weeks and I'm hitting walls. I'm hoping Fusion will provide a more stable environment. Thanks!

mitchellh commented 11 years ago

@brandonarbini http://vimeo.com/hashicorp/vagrant-vmware-fusion-provider-preview

It will be released soon.

brandonarbini commented 11 years ago

Heh. Message received.

logicminds commented 11 years ago

I have been using VIX and the JAVA API for a while ping me if you need help with coding or general questions.

vjanelle commented 11 years ago

Judging from the state of the mac VIX api, I suspect we're waiting more for a new version of vmware fusion to come out.

Kentzo commented 11 years ago

@vjanelle basic functions for managing local VM appears to work. what's wrong with them?

vjanelle commented 11 years ago

Can't configure networking.

On Feb 27, 2013, at 02:38 AM, Ilya Kulakov notifications@github.com wrote:

@vjanelle basic functions for managing local VM appears to work. what's wrong with them?

— Reply to this email directly or view it on GitHub.

Kentzo commented 11 years ago

but VIX API does not provide such functions. Instead you're supposed to run scripts/programs that will configure network on guest-side. Do you mean that functions (VixVM_RunScriptInGuest, VixVM_RunProgramInGuest) do not work for you?

mitchellh commented 11 years ago

VMware fusion 5 support will be released around March 12.

It supports everything Vagrant currently supports, including networking.

logicminds commented 11 years ago

Fusion 5 has been out for a few months already. Currently running 5.02. There are a quite a few tools to control almost any aspect of fusion now.

If you do use vmrun to run a program in the guest I would change the pam configuration file for vmtoolsd otherwise it won't work. cp /etc/pam.d/sshd /etc/pam.d/vmtoolsd

Look under /Applications/VMware Fusion.app/Contents/Library

A few of the basic tools: vmrun vmnet-bridge vmnet-cfgcli vmnet-cli vmnet-dhcpd vmnet-natd vmnet-netifup vmnet-sniffer vmware-authd vmware-cloneBootCamp vmware-licenseTool vmware-ntfs vmware-rawdiskAuthTool vmware-rawdiskCreator vmware-usbarbitrator vmware-vdiskmanager vmware-vmdkserver vmware-vmx vmware-vmx-debug vmware-vmx-stats

./vmnet-cfgcli Error: wrong number of arguments :vmnetcfg Usage: setloglevel getloglevel setdefaultloglevel getdefaultloglevel servicestart servicestatus servicestop getvmnetfeatures gethostadapterlist getbridge movebridge getdhcpusage setdhcpusage updatedhcpfromconfig getdhcpparam setdhcpparam setdhcpmac2ip getdhcpmac2ip enumdhcpmac2ip getnatusage setnatusage updatenatfromconfig getnatparam setnatparam getnatportfwd setnatportfwd enumportfwd deletevnet disablehostonlyadap enablehostonlyadap updateadapterfromconfig assignsubnet addadapter removeadapter getadapterstatus getvmnetcount getvnetwithfeatures setsubnetaddr setsubnetmask vnetcfgget vnetcfgadd vnetcfgremove getdefaultbridge setdefaultbridge exportconfig importconfig createdb getunusedsubnet getunusedvnet

mitchellh commented 11 years ago

http://www.vagrantup.com/vmware

Kentzo commented 11 years ago

Do I have to buy the provider even if I already bought vmware fusion?

mitchellh commented 11 years ago

You do, yes.

pencil commented 11 years ago

$79?! Does this include a VMware Fusion license?

parndt commented 11 years ago

Man, that's a really good deal for the power this gives and the amount of time this would have taken to build. Well done, @mitchellh! :+1:

Kentzo commented 11 years ago

I'm sorry, but the command line interface cannot cost as much as the virtualization software itself.

marsmensch commented 11 years ago

Kentzo, seriously? A command line interface? This is so much more! If it saves you more than one hour of work (or even more on a regular basis), you should buy it. Thanks @mitchellh!

gaige commented 11 years ago

VMWare Fusion support works great @mitchellh .

For those who haven't done it before, pricing software is hard. The purpose is to make sure the developer is able to continue developing, which I think we all want. It's great when a corporate sponsor can step in and make a large investment, but when you are targeting the market as a whole, you have to determine how many people are going to be willing to pay and how much.

In this case, I think many of us who use Vagrant and have been wanting to take advantage of our existing VMWare Fusion licenses find $79 for 2 nodes to be a reasonable trade-off for the value that is provided. If you had already spent the money on Fusion, you value having a commercially supported option in the first place.

You've always got the opportunity to:

  1. Create a similar provider yourself, investing of your own time and effort, which is likely to be more than $79 worth
  2. Use VirtualBox and Vagrant for free

Time will tell if @mitchellh has priced himself out of the market, and I'm sure if there's not enough revenue, then he'll either consider changing the price (possibly up, maybe down) or abandoning the project due to lack of interest.

I think it's a good value for the money and wish the best of success.

Kentzo commented 11 years ago

@marsmensch @gaige I think he should rather get a deal with vmware so that the provider is available for free for Fusion Pro users.

Kentzo commented 11 years ago

anyway, @mitchellh have done amazing work.

May I ask how do you communication is done? VIX api, command line tools or specifically created box with some preinstalled server that does the job on the guest machine?

mitchellh commented 11 years ago

@Kentzo I worked very closely with VMware, and we discussed such a deal but it was impossible due to legal reasons. Well, it MAY be possible, but it would've taken months of cutting through red tape and legal to get anywhere.

Communication is done through vmrun and lots and lots of internal VMware Fusion mucking around. vmrun on its own can only start, stop machines really so that wasn't useful at all.

There is also a custom C binary that ships with the provider to do some additional utilities, and a custom class that parses routing tables for collision detection of networks.

All-in-all, a lot of work. :)

Kentzo commented 11 years ago

@mitchellh by lots of internal VMware Fusion and C binary do you mean some internal libs which interfaces are not exposed to public?

mitchellh commented 11 years ago

@Kentzo Undocumented interfaces, yes. That makes up a majority of the interaction.