-
Notifications
You must be signed in to change notification settings - Fork 848
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support for Parallels Desktop #479
Support for Parallels Desktop #479
Conversation
…r plugin for Vagrant. See #479.
Looks like this will be pretty smooth. :-) Here's my setup:
The Vagrantfile needs just a few changes, see https://github.com/TobiasBg/varying-vagrant-vagrants/commit/47c5537d34155e1330b4f49a79302054147d37db:
That's all that was necessary, so far. VVV is running smoothly in Parallels Desktop with those changes for me. |
Nice! Any way of comparing VirtualBox and Parallels as far as speed / ease goes? |
… Parallels Provider. With that, the file owner is not set to `www-data`, but to `vagrant`.
The Parallels Provider does not support `chown` (see Parallels/vagrant-parallels#103 (comment)), which `tar -x` (see fgrehm/vagrant-cachier#53 (comment)) and `npm install` need/run at one point or the other, if they are invoked as `root`. Following the approach from #370 (comment), `tar` and `npm` can be run as the `vagrant` user, as untaring and npm are done in the user directory and don't require root permissions.
TL;DR: Support for Parallels Desktop works and shows good performance, but needs two more changes. Ok, here are some more details and findings: First, I forgot one thing above: To use the Parallels Provider, the very first (and only that) boot of the VM has to be done with Further testing revealed that some extra changes to our Vagrantfile and provisioning are necessary, as some errors are raised during provisioning otherwise:
The reason for this is file ownership: The Parallels Provider does not support Also, we don't need the After those changes, I could not spot any issues or errors and everything looks the same as a Virtualbox VVV (file ownership/ Everything is easy to use and to set up. Speed is also better for me. It does feel like sites are loading quicker.
|
Ok, it looks like the above
is slightly incomplete. File permissions in the shared folder are mainly 644 for files and 700 for newly created directories (like |
@TobiasBg Thanks for implementing Parallels Desktop support here! Let me clarify some points:
Since
No, it is not.
See |
@legal90, thanks for those great clarifications! The higher priority of the plugin explains my confusion there :-) Fortunately, this will not affect VirtualBox-only users of VVV, and users who install the Your explanation of the |
@TobiasBg You can update PD by clicking on the top menu "Parallels Desktop -> Check for Updates...", either download and install the latest build by this link: http://www.parallels.com/directdownload/pd10/ |
@legal90 Very cool, thanks for the update on this! I'm still on PD 9 and everything is working fine with that now as well (the file access rights are slightly different in the guest VM, compared to the Virtualbox, but I did not run into any issues with that in practice). With this feature in PD 10.1.2, we might be able to strive for even closer matching PD/Virtualbox VMs in the future. But having support for PD 9 is probably also nice :-) |
This is pretty great, @TobiasBg, thanks! And thank you @legal90 for dropping in as well! I checked out this PR and downloaded Parallels 10 for the first time to try things out. Here was my experience. On the first
Strange, but on the next attempt the plugin installed fine. I'm going to blame Vagrant on that one. I'm still on 1.6.5, not sure if 1.7.2 would react differently. On first
I'm really confused because I destroyed my VirtualBox version of VVV completely. There must be some residual somewhere looking at 192.168.50.4. I changed the IP in Provisioning went flawlessly. I had forgotten to remove the various WP directories, so it was nice how it was able to At first I had to correct my hosts entries as they had some old For the unscientific speed test:
If those times are right, that's pretty fantastic and I might think about ditching VirtualBox for core dev. Wow. I think my only worry from the entire process is around the IP address. Though my guess is most users will want to use Parallels because they do not have VirtualBox. We're probably ok to see what happens. As long as we aren't breaking anything on the other end we're probably ok. I ran through a clean
|
Very cool, @jeremyfelt! Great testing results! I'm not sure about that For that IP address conflict: I remember something like this (not sure that it was the same), if I used the Virtualbox VVV, shut that down, and then used Parallels. I always had to reboot my Mac and then start over fresh. I assume that Virtualbox integrates into the OS/network drivers/etc. very tightly and doesn't clean up/unlock everything immediately. That shouldn't be an issue in practice however, except for people who must use both Virtualbox and Parallels for whatever they are doing. From my side, there are no fears regarding merging this. I've been using this setup for my dev work (a little bit of WP core and plugin development) for the last couple weeks (since opening the PR) without any issues. I'm still on PD 9 and have used Vagrant 1.6.5 mainly, but also successfully updated to 1.7.1 a couple days ago, all with this PR on VVV master. The file changes should all be safe for Virtualbox users, as they only apply to the Parallels provider, except for that sudo tar/npm thing, which affects everybody. I haven't had any issues with this however, and as we have been doing it with the |
Add support for Parallels as a provider
In tests, parallels seems to indeed run much faster Virtualbox 1.7.2
vagrant destroy ~ 36 seconds Parallels 10.2.0
vagrant destroy ~ 11 seconds |
…r plugin for Vagrant. See Varying-Vagrant-Vagrants#479.
Parallels Desktop offers an official and open-source Vagrant Provider plugin at http://parallels.github.io/vagrant-parallels/ and https://github.com/Parallels/vagrant-parallels.
The only real differences to our Virtualbox configuration that I have spotted after a quick glance are the box name and the way how machine settings are changed. Both of this can be overridden with provider-specific declarations in the Vagrantfile, as far as I can see.
I'll use this as a tracking issue for my experiments with adding support to VVV.