Commit Graph

153 Commits

Author SHA1 Message Date
Chris Roberts cb3b8bd732 Add support for using the `--chown` flag with rsync when available.
Adds a new `rsync__rsync_ownership` option to rsync based synced folders
which will allow rsync to use the `--chown` flag if it is available. The
`rsync` and `rsync-auto` commands have a new `--rsync-chown` flag which
can be used to force the option on folders when running the commands.

Fixes #7329 #7332
2018-12-20 17:16:36 -08:00
Chris Roberts 818d1d97ae Update rsync auto post command error handling to be more generic
Rescue and re-wrap any errors encountered when running the post
rsync capability. Rescue this exception type and notify of error
when encountered by rsync auto. Include test coverage.
2018-12-18 09:50:21 -08:00
hieptranquoc 480e992ea1 @ #10460 | vagrant rsync should restart when rsync find chown command error 2018-12-18 09:49:44 -08:00
hieptranquoc aa6908cc00 @ #10460 | fix vagrant rsync-auto is crashed 2018-12-18 09:49:21 -08:00
Gavin Williams 0500f2b9b3 Add support for SSH config file to Rsync helper 2018-12-11 07:51:47 -08:00
Brian Cain 65651178cd
Fixes #9591: Allow for 'default' smb_username if set
Prior to this commit, Vagrant would prompt for smb username and password
every time, even if only smb_username was defined. This commit changes
that by allowing a "default" username from the Vagrantfile, with the
option of overriding it.
2018-10-19 13:26:18 -07:00
Brian Cain cc14b43a96
Ensure `tmpdir` is loaded for rsync helper class 2018-10-11 09:57:20 -07:00
Brian Cain cb0bd89ae1
Fixes #10289: Create proper tmp dir for ControlPath
Prior to this commit, when creating the ControlPath tmp dir for
socket path, Vagrant would simply rely on `rand(1000)` for making unique
dirs for rsyncing files which could result in collisions. This commit
updates that be properly using `Dir.mktmpdir` with a `vagrant-rsync-`
prefix.
2018-10-11 09:51:03 -07:00
Chris Roberts d48b95ffaf Check :verify_host_key value for :never or if falsey 2018-08-24 14:11:30 -07:00
Chris Roberts 2667de163b Enable rsync synced folders for non-DrvFs file systems within WSL 2018-07-06 16:58:12 -07:00
Chris Roberts 52bae21933 Remove unused PowerShell scripts 2018-05-24 15:33:36 -07:00
Chris Roberts a1529d5fbe
Merge pull request #8828 from mkhon/nfsv4-default-tcp
nfs_udp is false by default if using NFS v4
2018-02-23 09:50:49 -08:00
Chris Roberts 5444271268 Move SMB credentials validation into host capability 2018-01-12 16:55:35 -08:00
Lachlan Arthur 01bc2627be Check SMB credentials before using them 2018-01-12 15:46:31 -08:00
Chris Roberts b0fc6a06a1
Merge pull request #9294 from chrisroberts/e-smb
SMB synced folders enhancements
2018-01-12 15:02:08 -08:00
Brian Cain c9e5a22bff (#9062) Deprecate :paranoid in favor of :verify_host_key
As of `net-ssh` version 4.2.0, the key :paranoid has been deprecated in
favor of using :verify_host_key. This commit updates Vagrants ssh config
to use the new key, and deprecates the use of :paranoid.
2018-01-05 10:02:45 -08:00
Chris Roberts 6e4139acd3 Include configuration for smb synced folders 2018-01-03 09:40:52 -08:00
Chris Roberts 5b7714f542 Include macOS as valid host platform 2018-01-03 09:30:44 -08:00
Chris Roberts 3eeff59329 Use custom types and messages for errors 2018-01-02 14:36:28 -08:00
Chris Roberts 98ec1af30e Add smb_start capability for darwin 2018-01-02 11:21:50 -08:00
Chris Roberts 5a607d9248 Clean up SMB related errors 2017-12-21 09:55:19 -08:00
Chris Roberts 00fa50c296 SMB enhancements 2017-12-21 09:55:19 -08:00
Chris Roberts 139a65e555 Format host address for rsync when IPv6 2017-07-31 15:44:37 -07:00
Max Khon d87dd018b0 nfs_udp is false by default if using NFS v4. 2017-07-27 14:00:53 +06:00
Brian Cain 4440056fff (#8770) rsync-auto relative dirs from vagrantfile
Prior to this commit, rsync-auto would not properly rsync realtive dirs
outside the cwd if defined in the Vagrantfile. This commit updates that
to ensure that the command looks at the Vagrant config to ensure that
folder was intended to be rsync'd to the machine even if outside the
current working dir.
2017-07-14 09:26:10 -07:00
Brian Cain b1548a2eb6 (#5160) Only rsync-auto current working dir with docker provider
Prior to this commit, when users invoked the `rsync-auto` command using
the docker provider with boot2docker, vagrant would rsync all known
containers using the boot2docker vm rather than the current working dir.
This commit updates that behavior to ensure that only the current
working dirs vagrant machines will be rsynced.
2017-07-06 15:05:42 -07:00
Yufan Lou b8bad54ad9 Fix nil case 2017-06-16 11:22:56 +08:00
Yufan Lou 3b63e1f8b8 Add chomp to lookup gid
Fixes #8664
2017-06-10 15:15:43 +08:00
Chris Roberts 9f393fc1e0 Use uid/gid from mount_options if provided for synced folders.
This also extracts the gid/uid detection and upstart actions into
reusable module to provide consistent behavior.
2016-12-14 12:12:17 -08:00
Chris Roberts 05c5aab92a synced_folders/rsync: Escape exclude paths 2016-10-25 13:59:03 -07:00
Chris Roberts c59723e595 Merge pull request #7740 from chrisroberts/nfs/v4
Add NFSv4 warning and information
2016-08-19 10:19:34 -07:00
Chris Roberts bbac718925 Add NFSv4 warning and information 2016-08-19 09:33:36 -07:00
Chris Roberts 185a7dfc2e guests/rsync do not chown files excluded from sync 2016-08-16 15:13:19 -07:00
Chris Roberts 9e26e31a6b Add generated private key options to rsync command 2016-08-11 13:00:37 -07:00
Chris Roberts 7ba4f2087b Include LogLevel option within ssh command setup 2016-08-11 12:12:45 -07:00
Zack Train cb70749bd8 redux of pr 7398 for ssh-agent key fix 2016-08-11 11:48:10 -07:00
Seth Vargo 571747be5e
Ensure space after last arg 2016-07-18 23:39:08 -04:00
Seth Vargo 8a5cf3b81a Merge pull request #7012 from penguincoder/rsync-command-quoting
translate windows path
2016-07-18 22:05:39 -04:00
Seth Vargo 7f1947fec2
folders/rsync: Shellescape guest paths
This allows users to have spaces or other special characters in
destination paths on the guest.
2016-07-18 21:13:00 -04:00
Seth Vargo e69211ab22
guests/arch: Add NFS capabilities 2016-07-18 21:12:55 -04:00
Seth Vargo 43538f68a4
Simpler 2016-06-06 19:47:25 -04:00
Andrew Coleman 95ab29b3db only use controlmaster for non-windows platforms, resolves #6702 2016-02-10 22:44:54 -05:00
Andreas Reischuck 5647de8ba4 Add shell quotes to the reported rsync command line to make it readable. 2016-01-09 22:27:54 +01:00
Tony Arkles 795a7a3d23 Fix for problem where the host_info.ps1 script returns a string instead of a list of IPs 2015-12-17 14:40:50 -06:00
Mitchell Hashimoto 601f7d41e5 synced_folders/smb: use cred files [GH-4230] 2015-11-23 11:11:50 -08:00
Mitchell Hashimoto 45a8a5907f synced_folders/rsync: SSH control for faster rsync 2015-11-20 10:48:59 -08:00
Mitchell Hashimoto fbe10cf7f6 Merge pull request #6232 from mirthy/windows7-hostinfo
FIX: Use a .NET API call instead of a Win8+ cmdlet
2015-11-18 13:11:10 -08:00
Jeff Kwan 4b32744424 Use a .NET API call instead of a Win8+ cmdlet
The root cause is that Windows 7 doesn't have Get-NetIPAddress (
see:
https://stackoverflow.com/questions/19529442/gather-ip-address-information
)
but the change was to try and solve the bug that the VPN IP
addresses
aren't visible detailed
here:
https://support.microsoft.com/en-us/kb/2549091

Resolved using the
2nd solution
from
http://serverfault.com/questions/145259/powershell-win32-networkadapterconfiguration-not-seeing-ppp-adapter
2015-09-03 16:54:41 -04:00
Lonnie VanZandt b897fd7365 Scrub Guest Paths for Windows Rsync leaving Dirty Paths for Winrm Mkdir
Windows offers no out-of-the-box rsync utility. By far, the most
commonly used external utilities for Windows rsync are built with the
GNU Cygwin libraries. The cost for this convenience is that rsync on
Windows has to be provided paths that begin “/cygdrive/c” rather than
“c:/“ like other Windows-API utilities. Compounding the situation,
rsync doesn’t create paths/to/sub/targets and so the vagrant plugin
code, when performing an rsync, is responsible for creating
intermediate directories in guest paths if there are any. Furthermore,
the mkdir utility in Windows is not another Cygwin utility like rsync
but the routine mkdir of Windows command.com. Therefore, while rsync
needs the /cygwin paths, mkdir uses the Windows paths. Later, the
chef_solo.rp provisioner running within the guest will expect to find
Windows-style paths in its solo.rb configuration file. Due to all this,
vagrant has to keep track of both the original, possibly dirty Windows
guest path and the cygwin-scrubbed guest path.
2015-08-18 10:56:13 -06:00
Mitchell Hashimoto d5458247c7 update to latest listen 2015-07-09 11:18:36 -06:00