Brian Cain
ec67151312
Merge pull request #10702 from briancain/docker-network-support
...
Docker Provider Network Support
2019-03-25 15:43:23 -07:00
Chris Roberts
0575fdfd69
Do not rely on IPAddr#prefix as it's not available on older rubies
2019-03-22 16:42:30 -07:00
Chris Roberts
8ba69e587c
Update guest capabilities for coreos
2019-03-22 15:20:37 -07:00
Brian Cain
4f80a9e6d5
Add test for requesting public ip range for docker network provider
2019-03-22 09:02:40 -07:00
Brian Cain
6bffdca972
Add beginning of connect network tests for docker provider
2019-03-21 16:06:24 -07:00
Brian Cain
88a18fe2c5
Add public network tests for docker provider
2019-03-21 16:06:11 -07:00
Brian Cain
82700d95b3
Ensure subnet is used if specified from user config options
2019-03-21 15:29:04 -07:00
Brian Cain
8c169714c5
Ensure variable names exist in method
2019-03-21 11:39:16 -07:00
Brian Cain
96a19aa00c
Fix how options to cli args are handled
...
Since options could also be defined as strings, convert it all to string
and compare those instead
2019-03-21 11:15:41 -07:00
Brian Cain
5215354d16
Fix missing docker error classes, and finish out initial #call tests
2019-03-21 10:50:45 -07:00
Chris Roberts
b1d8b952bb
Merge pull request #10745 from chrisroberts/f-net-sftp-comms
...
Remove require of net/sftp library
2019-03-20 15:57:21 -07:00
Chris Roberts
2d5091a985
Merge pull request #10713 from renatoaguiar/fix-void-nfs
...
Fix NFS capability detection on Void Linux
2019-03-20 15:48:46 -07:00
Brian Cain
1027636e41
Split up and rename unit tests for docker network operations
2019-03-20 15:14:39 -07:00
Brian Cain
eb75431c4a
Update docker driver and docker driver unit tests
2019-03-20 14:50:28 -07:00
Chris Roberts
3ca8089920
Remove require of net/sftp library
...
Fixes #10733
2019-03-20 13:02:08 -07:00
Chris Roberts
623a1815ae
Allow use of subnet option when defining private network with dhcp type
2019-03-19 14:35:40 -07:00
Chris Roberts
670bef6596
Allow custom subnet to be provided when private network type is dhcp
2019-03-19 14:20:14 -07:00
Chris Roberts
afb6c20581
Fix option mask to be expected netmask
2019-03-19 14:03:03 -07:00
Chris Roberts
a1c7eec441
Include synchronization as the environment lock is per process only
2019-03-19 13:46:14 -07:00
Chris Roberts
a645ce3c25
Docker provider networking support updates
...
Use `mask` option for defining subnet on network configuration. Allow
options to be passed through using hash scoping and docker_network and
docker_connect prefixes. Enable public networks. Allow configuration
to define pre-existing networks by name.
2019-03-19 11:44:33 -07:00
Chris Roberts
1224622387
Remove container inspection caching and Exception rescue
...
Container inspection is caching data on first lookup. This will
result in incorrect data being returned on subsequent lookups if
a different `cid` value is provided. Also removed rescue of
the `Exception` class as this generally should never happen; rescue
of StandardError will be enough.
2019-03-19 11:44:22 -07:00
Chris Roberts
c251e090b3
Remove Mutex for synchronization. Environment#lock satisfies requirement.
2019-03-19 11:44:02 -07:00
Brian Cain
6664936c0b
Make ignored vagrant network options a constant
2019-03-12 10:40:58 -07:00
Brian Cain
5ed5868067
Inspect networks before creating new ones
...
This commit updates the behavior of how the docker provider creates new
docker networks. It looks at each existing network to see if the
requested subnet has already been configured in the docker engine. If
so, Vagrant will use that network rather than creating a new one. This
includes networks not created by Vagrant. Vagrant will not clean up
these networks if created outside of Vagrant.
2019-03-12 10:36:57 -07:00
Brian Cain
e399aeaf70
Merge pull request #10717 from briancain/add-vbox-share-folders-bsd
...
Add proper VirtualBox share folders support for FreeBSD guests
2019-03-11 15:07:17 -07:00
Brian Cain
5b3c6b8ad4
Fixes #10723 : Fix bug instance var in Vagrant Cloud CLI optparse
...
This commit uses the correct instance variable for the optparse library
when reading in the command line flags for various Vagrant Cloud CLI
commands.
2019-03-11 14:21:55 -07:00
Brian Cain
2f0c66f832
Only enable shared folder mounts on freebsd guests
...
Since the virtualbox guest additions seem to only be available for
freeBSD, move the shared folder functionality over to freebsd guests
rather than all BSD guests.
2019-03-08 11:03:23 -08:00
Brian Cain
b2251d5bec
Update logger to display vboxvfs module rather than vboxsf
...
Ensure the logger displays the right vbox module used for mounting
shared folders
2019-03-07 10:49:38 -08:00
Brian Cain
0bfca8293a
Update from vboxsf to vboxvfs
...
BSD guests use vboxvfs module for mounting share folders
2019-03-07 10:35:37 -08:00
Brian Cain
554b096961
Fixes #8884 : Introduce proper VirtualBox shared folders for BSD
...
This commit adds proper VirtualBox shared folder support for BSD guests.
It is essentially a copy of the linux capability.
2019-03-07 10:35:37 -08:00
Brian Cain
b78dada2c7
Fix docker driver handling cli flags
...
Make opts argument set to nil instead of splat to make Travis Ruby 2.3
happy
2019-03-05 10:57:05 -08:00
Renato Aguiar
4de7716ffb
Fix NFS capability detection on Void Linux
2019-03-05 10:03:52 -08:00
Brian Cain
cccbedf4ce
Update how docker network handles processing options to cli arguments
...
Add an "ignored option" array rather than a big if-statement expression
2019-03-04 14:19:40 -08:00
Brian Cain
953a380371
Fix how Vagrant assigns cli arguments for the create command
...
This commit inlines the flag assignments so that arguments are properly
assigned to flags rather than arguments to the subcommand.
2019-03-04 13:44:21 -08:00
Brian Cain
efb9fd7b65
Move strings into locales file
2019-03-04 13:33:08 -08:00
Brian Cain
a1b48ed1bb
Raise proper class if invalid options given for docker network
2019-03-04 13:17:14 -08:00
Brian Cain
0b28580105
Move out cli argument generation to own function
2019-03-04 10:33:24 -08:00
Brian Cain
81fa7036be
Rename cli argument method
2019-03-04 10:28:49 -08:00
Brian Cain
6c7c74be5a
Fix if statement from `=` to `==`
2019-03-04 10:28:05 -08:00
Brian Cain
4080f9e64d
Log warning if docker network inspect fails to return json
2019-03-04 10:25:10 -08:00
Brian Cain
5adffb608d
Only allow private_network for docker network provider
2019-03-01 16:34:43 -08:00
Brian Cain
29696b0f73
Allow for ipv6 networks in docker
2019-03-01 16:20:16 -08:00
Brian Cain
000457a012
Update how docker network provider creates networks
...
This commit updates the docker network provider to only create networks
by subnet rather than per-container.
2019-03-01 16:07:53 -08:00
Brian Cain
c20de9044d
Log information if unsupported docker network option is provided
2019-03-01 08:34:43 -08:00
Brian Cain
4a0f1a0a33
Update docker network action to auto-generate cli flags
...
This commit updates the docker network behavior to auto-generate the
docker network command flags from Vagrants network config option.
2019-03-01 08:34:43 -08:00
Brian Cain
b5a092397f
Add new function for handling vagrant options to docker network cli
...
flags
2019-03-01 08:34:43 -08:00
Brian Cain
dc5f8c66f2
Add todo comment for future fixup
2019-03-01 08:34:43 -08:00
Brian Cain
4dc5f7c330
Add basic ability to configure some networks for containers
2019-03-01 08:34:43 -08:00
Brian Cain
e860c7709d
Begin to setup and configure docker networks for containers
2019-03-01 08:34:43 -08:00
Brian Cain
8013d8d5ef
Move around Network setup action for docker provider
2019-03-01 08:34:43 -08:00
Brian Cain
63ba0f9964
Add DestroyNetwork action to docker provider
2019-03-01 08:34:43 -08:00
Brian Cain
349cc5ddac
Add placeholder network destroy action for docker
2019-03-01 08:34:43 -08:00
Brian Cain
a336aa687c
Add logger and start to iterate over networks in config
2019-03-01 08:34:43 -08:00
Brian Cain
bed653eeb4
Autoload and use Network action on up
2019-03-01 08:34:43 -08:00
Brian Cain
67ea15126d
Make opts var optional for docker driver methods
2019-03-01 08:34:43 -08:00
Brian Cain
627251a307
Add basic docker network action
2019-03-01 08:34:43 -08:00
Brian Cain
ec2e0380ee
Add basic docker driver methods for `docker network` subcommand
2019-03-01 08:34:43 -08:00
Chris Roberts
927364652f
Merge pull request #10595 from danowar2k/master
...
- FIX for #10594
2019-02-26 14:09:31 -08:00
Brian Cain
1592c0c216
Merge pull request #10690 from briancain/cleanup-rsync-tmp-folders
...
Cleanup rsync tmp folders
2019-02-26 13:25:34 -08:00
Brian Cain
3b540e502f
Force removal of rsync tmp dir
...
Force delete entry to prevent any potentail failures when trying to
clean up the tmp dir from rsync
2019-02-26 09:08:56 -08:00
Chris Roberts
e2b6a6645c
Always ensure remote destination directory exists
2019-02-26 08:54:49 -08:00
Chris Roberts
6b105d704d
Update communicator upload behavior to handle `/.` path directives
...
This update was prompted by updates in openssh to the scp behavior
making source directory paths suffixed with `.` no longer valid
resulting in errors on upload. The upload implementation within
the ssh communicator has been updated to retain the existing
behavior.
Included in this update is modifications to the winrm communicator
so the upload functionality matches that of the ssh communicator
respecting the trailing `.` behavior on source paths. With the
communicators updated to properly handle the paths, the file
provisioner was also updated to simply apply previously defined
path update rules only.
Fixes #10675
2019-02-26 08:02:09 -08:00
Andrew Eikum
7517faa9ee
Remove tmpdir after rsync completes
2019-02-22 12:24:13 -08:00
Brian Cain
cdcedb0a9e
Fixes #10682 : Move over AddAuthentication middleware and hooks
...
Prior to this commit, the AddAuthentication hooks still existed in a
deprecated class LoginCommand. This commit fixes that by moving it over
to the vagrant cloud cli namespace instead.
2019-02-21 09:42:16 -08:00
Brian Cain
31b9aafcf7
Merge pull request #10622 from mattin4d/master
...
Change remaining box_client_cert refs to box_download_client_cert
2019-02-20 11:03:49 -08:00
Vidroha Debroy
aacb453a79
Fixing bug I introduced. Thanks @chrisroberts!
2019-02-15 14:53:56 -06:00
Vidroha Debroy
7c0ffe369a
Updated based on recommended changes per review.
2019-02-15 12:14:37 -06:00
Brian Cain
68e21d8ac5
Merge pull request #10664 from chrisroberts/f-plugin-config-format
...
Fix format finalization of plugins in Vagrantfile
2019-02-12 10:00:14 -08:00
Brian Cain
9636f59232
Merge pull request #10638 from chrisroberts/e-reboot-message
...
Add reboot output to guest capability
2019-02-12 09:57:30 -08:00
Brian Cain
0bc0bdd616
Merge pull request #10615 from briancain/introduce-typed-triggers
...
Introduce :type option for Vagrant triggers
2019-02-12 09:16:01 -08:00
Chris Roberts
2e58e002d6
Fix format finalization of plugins in Vagrantfile
2019-02-11 15:48:43 -08:00
Brian Cain
4c61eaa933
Fixes #10643 : Ensure paths are properly expanded when comparing synced folders
...
Prior to this commit, the docker action would attempt to compare and
validate synced folders based on their string value, rather than their
actual path value. This commit updates that by path expanding the mounts
when comparing a containers synced folders.
2019-02-04 11:15:40 -08:00
Chris Roberts
80705c4804
Merge pull request #10637 from chrisroberts/f-address-config
...
Add base_address to core vagrant vm config
2019-02-01 16:15:50 -08:00
Chris Roberts
ade5370db3
Add reboot output to guest capability
2019-02-01 15:47:02 -08:00
Chris Roberts
61cf179b42
Add base address attribute to vm config
2019-02-01 14:47:11 -08:00
Brian Cain
fc4e6e624f
Simplify if-statement in trigger parser
2019-02-01 13:34:15 -08:00
Brian Cain
659aa1c48e
Remove todo in validation
2019-02-01 13:34:15 -08:00
Brian Cain
071d8b09cd
Add machine for hook and action triggers
2019-02-01 13:34:15 -08:00
Brian Cain
fefb702359
Introduce `type` and `command` triggers
...
This commit introduces some basic functionality for typed triggers:
- command
- action
Command triggers are triggers that will run before or after a given
sub-command.
Action triggers are for running triggers before or after internal
actions for Vagrant. This could be before or after a provision step,
before or after synced folders, or networking, etc.
2019-02-01 13:34:15 -08:00
Chris Roberts
cf99438f1f
Update base path on windows to use common file separator
...
On Windows the File::SEPARATOR ends up being `/` which causes
issues with the new way the path is being extracted from the
vbox information. When on Windows (even with WSL), automatically
convert the path to use common forward slash separator. This
fixes path modifications used for storing guest disks.
2019-01-29 11:09:25 -08:00
Vidroha Debroy
281203edf1
Handling the cases for UNSET_VALUE, i.e., config is not finalized.
2019-01-28 13:35:50 -06:00
Matt Adams
a3836f5fec
Change remaining box_client_cert refs
...
This fixes issues with box add/update when self hosting with client
certs. The --cert option was not being added to the curl subprocess
in these cases.
2019-01-28 08:45:24 -06:00
Vidroha Debroy
d2c11e81ae
Config has pip_install_cmd for Provisioner to pick it up. Tests updated.
2019-01-25 16:51:58 -06:00
Vidroha Debroy
8418d26037
Ubuntu code updated because it calls Debian code.
2019-01-25 15:22:04 -06:00
Vidroha Debroy
614523a5fc
Exposing pip_install_cmd to callers as optional.
2019-01-25 15:09:31 -06:00
Vidroha Debroy
84df098135
Handling empty strings passed as pip_install_command.
2019-01-25 14:55:39 -06:00
Vidroha Debroy
2b0617fb64
Adding pip_install_cmd as a default parameter to get_pip. Unit Tests.
2019-01-25 13:59:15 -06:00
Daniel Poggenpohl
2d9ba0e906
- FIX for #10594 (more logical flow)
2019-01-17 14:59:52 +01:00
Daniel Poggenpohl
d565f628fd
- FIX for #10594
2019-01-17 14:21:53 +01:00
Brian Cain
65a7261853
Fixes #10585 : Properly set DHCP for systemd-networkd ips
...
Prior to this commit, if a debian system requested an DHCP address using
systemd-network, Vagrant would ignore it and instead use the configured
IP from the virtualbox network action. This commit fixes that by instead
looking if DHCP was requested, and if so, use that option for an IP.
2019-01-11 10:19:37 -08:00
Brian Cain
5d4c9ef8a7
Merge pull request #10513 from briancain/catch-invalid-version-errors-vagrant_cloud
...
Fixes #10509 : Catch InvalidVersion errors from vagrant_cloud client
2019-01-09 11:16:58 -08:00
Brian Cain
6b89324a9f
Merge pull request #10554 from iquiw/grep-fix-for-coreos
...
Fix grep command for network interface of CoreOS guest
2019-01-08 11:47:14 -08:00
Chris Roberts
d87c645bd0
Fix garbage detection within SSH communicator
...
Fixes #10552
2019-01-07 16:20:56 -08:00
Brian Cain
b5db5c0156
Show source and destination locations with file provisioner
...
Prior to this commit, Vagrants output would only show that a file
provisioner was running, but had no detail as to what file was being
copied to where. This is especially confusing if a Vagrantfile has
multiple file provisioners. This commit updates that by showing the
source and destination of the file so that it's clearer what is being
copied and to where.
2019-01-07 11:43:27 -08:00
Chris Roberts
023238b3d1
Merge pull request #10528 from chrisroberts/e-ps-elevated
...
Add support for running elevated commands using the powershell command
2019-01-03 15:25:56 -08:00
Chris Roberts
c7522b9114
Merge pull request #10529 from chrisroberts/e-rsync-chown
...
Add support for using the `--chown` flag with rsync when available.
2019-01-03 15:18:14 -08:00
Chris Roberts
1f959e03cb
Merge pull request #10532 from chrisroberts/e-reboot
...
Add reboot option to shell provisioner
2019-01-03 13:52:19 -08:00
Chris Roberts
7fbcb88d82
Merge pull request #10539 from jalandis/disable-required-install_type-salt-option-windows
...
Disabled salt provision required install_type check on Windows
2019-01-03 13:44:05 -08:00
Iku Iwasa
982534aaed
Fix grep command for network interface of CoreOS guest
2019-01-04 00:25:35 +09:00
John Landis
bd6fa11281
Disabled salt provision required install_type check on Windows where option is not supported. Added test case for salt provisioner config changes.
2018-12-23 11:39:58 -05:00