Prior to this commit, if a user set the `destination` path to include a
space, the `shell_expand_guest_path` function would remove that space
and return a partial path. This commit updates that to quote the path to
be expanded to preserve the entire path.
Currently `configure_networks` guest cap configures NICs following the device order and fails
when the device order is mixed. We should detect the appropriate NIC by its MAC address.
When using pty=true, removing files using sudo may request confirmation,
which will hang the connection.
Similarly, sometimes assumptions about file existence may be wrong and
in those cases it seems better to continue on as long as the file does
not exist, so -f makes sense there, too.
OS X's `xargs` does not support the `-r` flag (which means "do not
execute the command even once if there are no arguments"), but
behaves by default as if it was specified.
You can verify this yourself with this test:
$ touch zero-length-file
$ xargs echo <zero-length-file
If `echo` is executed, you will see a blank line. If it is not
executed (i.e. `-r` is specified or the behavior is implied) then
you will see no blank line.
Run remote rsync as root to guarantee that rsync can write to guestpath.
This obviates the need to chown the guestpath to the SSH user prior to
sync.
This brings a substantial speedup (2x on a moderately-sized shared
folder) and properly triggers filesystem notifications on only the files
changed by a given sync.
- It's not clear whether it's possible to mount individual shares
using 'mount -t vmhgfs', as the vagrant-vmware-fusion provider now does
for Linux guests. Any mount from '.host', even if not a valid share
name, succeeds and mounts _all_ shares in their respective directories
at the root of the mountpoint. Instead, we symlink each directory from
its place in '/Volumes/VMware Shared Folders'
bunch of retires rather than a long sleep.
Add DarwinNFSMountFailed error. This might move be more appropriate at
the plugin level.
Integrate some of tvsutton's work in configure_networks to get the
implementation closer to working in both fusion and virtualbox.
Add shell_expand_guest_path capability (also copied from linux)
- There's a lengthy sleep in there, probably could use a back-off loop
- en1 seems totally worthless on vbox, I skip it and just use the en2 it creates.
- Tested on mountainlion/virtualbox
- virtualbox shared folders will not work (no vboxvsf support)
- Must use at least 2GB of RAM or the os will refuse to boot(mountainlion requirement)
To begin, create a mountainlion vm in virtualbox. You will need to install from scratch most likely, and assign at least 2GB of ram for it to install.
Create 2 network interfaces, the first one a NAT interface, second a hostonly interface.
'vagrant package' the VM.
In your vagrant file, be sure that the synced folder is disabled:
config.vm.synced_folder "vagrant", "/vagrant", disabled: true