291 Commits

Author SHA1 Message Date
Erik Lattimore
28a92850ab Allow synced folders to contain spaces in the guest path
It should be valid to allow paths with spaces for the synced folder
guest path but since the guest path is used to generate the ID (if one
isn't provided), this will err out in VirtualBox because it doesn't
allow spaces for the --name argument. We should simply convert ' ' to
'_' as we do with other special characters.
2017-09-29 17:24:12 -04:00
Chris Roberts
f660c19084 Error when compose and force_host_vm are enabled together 2017-08-22 11:36:26 -07:00
Chris Roberts
1c763cf5e6 Expand relative volume paths for compose on current cwd 2017-08-21 13:26:19 -07:00
Chris Roberts
3f8cbb121a Merge pull request #8837 from chrisroberts/docker-compose/links
Split compose links if string values
2017-08-21 13:21:09 -07:00
Brian Cain
8b1043c199 Remove stub methods and replace with allows for rpsec 3 2017-08-04 15:02:59 -07:00
Chris Roberts
1a62743bc5 Update rspec to recent version and fix deprecations 2017-08-03 17:54:07 -07:00
Chris Roberts
3b4901a5b5 Split compose links if string values 2017-07-31 14:23:50 -07:00
Chris Roberts
4bc8cc7563 Filter any machine_ip when preparing the NFS settings
When preparing the NFS settings on VirtualBox the guest IP addresses
are pulled from VirtualBox directly and any static addresses are
pulled as well. This can lead to aquiring a host IP and machine IP
but results in a failure of NFS mount because the IPs are not on
the same network. This filters the machine IP result to validate
it is within the host adapter IP range.
2017-07-24 14:02:15 -07:00
Chris Roberts
3e05ac0639 Stub out the which check within compose tests 2017-05-15 09:09:25 -07:00
Chris Roberts
ed1b25f1b2 Include spec coverage on compose driver 2017-05-12 15:09:30 -07:00
David O'Rourke
514193090a prepare_nfs_settings: Add scoped hash override test. 2016-06-03 15:19:03 +01:00
Seth Vargo
bf96b3348b
provider/docker: Add docker-exec command
This adds a new core command, `docker-exec`, which allows the user to
exec into an already-running container.

- Fixes #6566
- Fixes #5193
- Fixes #4904
- Fixes #4057
- Fixes #4179
- Fixes #4903
2016-05-31 20:05:26 -04:00
Seth Vargo
38f23fe001
providers/docker: Allow TCP and UDP ports on same number
This commit changes the way ports are aggregated in the Docker provider.
Previously ports were aggregated by their "number", but that is not a
truly unique representation. Instead, the protocol is now taken into
account when generating the port map.

Fixes GH-5527
2016-05-30 17:23:44 -04:00
Seth Vargo
b993699af6
Cleanup more files in tests 2016-05-29 00:34:00 -04:00
Seth Vargo
68329817ad Merge pull request #7290 from phyber/fix/master/prepare_nfs_settings_machine_ip_fix
prepare_nfs_settings: Try harder to get all machine IPs.
2016-05-27 18:38:03 -04:00
Seth Vargo
8c11b537ba
Allow Mac/Windows users to use Docker native 2016-05-27 17:36:07 -04:00
David O'Rourke
c5f975838d prepare_nfs_settings: Add spec test for static/dynamic IP combo 2016-05-10 11:40:16 +01:00
Mitchell Hashimoto
06a1461081 Merge pull request #6662 from lukebakken/fixes/lrb/gh-4503-hyper-v-admin-privs
Fix for 4503
2015-12-14 15:56:55 -08:00
Luke Bakken
57187c9f88 Add method to detect if a Windows user is a member of the "Hyper-V Administrators" group.
Modify Hyper-V provider to require a user to either be an Administrator or a member of "Hyper-V Administrators"
2015-12-10 07:04:39 -08:00
Timur Alperovich
a56e118b16 Use <prefix>::1 as the IPv6 adapter IP.
Set the IPv6 adapter IP to be <prefix>::1. Otherwise, guest to host
communication over IPv6 is not routed correctly. This means that
consumers should not specify <prefix>::1 IP addresses to VirtualBox,
which should be a reasonable restriction.

Fixes #6658
2015-12-09 17:22:02 -08:00
Timur Alperovich
bcf61d001b Only consider the VM interfaces in the IPv6 fixup.
Vagrant should only consider the host-only interfaces used by the
virtual machine in the IPv6 fixup code. There may be other interfaces
present on the system with IPv6 addresses that for various reasons
would fail the routing check (for example, an interface with no
machines attached).

The patch changes the behavior to not scan all of the host-only
interfaces and adds a unit test for the behavior (that the correct IP
is validated).

Lastly, there is a small fix here that may not be an issue for most
people where the IPv6 prefix was asummed to be a multiple of 16 for
the purposes of constructing the UDP probe datagram. This assumption
has been removed.

Fixes #6586
2015-12-08 10:44:07 -05:00
Seth Vargo
1bb9a48ae7 Fix cap test 2015-11-24 16:41:13 -05:00
Seth Vargo
844cca9013 Skip nil IP addresses in ipv6 fix
Fixes GH-6558
2015-11-23 17:20:20 -05:00
Seth Vargo
7b89ecc230 Add public_address cap for VirtualBox
Fixes GH-5978
2015-11-23 16:23:22 -05:00
Seth Vargo
c88d52082a Merge pull request #6296 from tomfanning/master
Hyper-V set mac address
2015-10-14 13:02:53 -04:00
Mitchell Hashimoto
199a58fdd9 test: test IPv6 2015-10-01 08:47:25 -04:00
Mitchell Hashimoto
7e18a92bd9 test: fix tests 2015-10-01 08:45:44 -04:00
tomfanning
41beaac074 Hyper-V set mac address 2015-09-22 11:35:55 +01:00
Mitchell Hashimoto
e903988461 fix tests 2015-07-09 14:14:30 -06:00
Mitchell Hashimoto
606a8fdde2 providers/docker: validate create args is list [GH-4850] 2015-07-08 10:25:32 -06:00
Mitchell Hashimoto
c2cae80de5 providers/dock: pull image prior to starting 2015-07-08 10:09:15 -06:00
Seth Vargo
6699e02bcf Minor cleanup 2015-05-30 11:47:23 -07:00
Volodymyr Babchynskyy
8e6db0015f Fixed typo 2015-03-30 11:01:38 -06:00
Volodymyr Babchynskyy
7628ca71e7 Removed default dependences to number 2015-03-30 10:57:11 -06:00
Volodymyr Babchynskyy
9e23d16d9c merged vlan_id changes for hyperv by tomassrnka 2015-03-30 08:37:29 -06:00
Paul Hinze
88ab9f7402 providers/virtualbox: read netmask from dhcpservers
This should fix the cleaning up of the default VirtualBox dhcpserver,
which we've been fighting with for ages over in #3083. We were checking
for a structure _including_ a netmask, but the driver was not populating
netmask.
2015-01-21 10:51:39 -08:00
Volodymyr Babchynskyy
551a26272b tests extended to new variables 2015-01-14 17:35:44 +02:00
Paul Hinze
25ff636ee2 providers/virtualbox: cleanup default vbox dhcp server
fixes #3083

Detect the presence of the default DHCP server that comes in a fresh
VirtualBox install and clean it up to prevent it from colliding with
Vagrant-managed network config.

In order to accomplish this, we:

 - add a `remove_dhcp_server` call to the virtualbox driver
 - fix dhcp options parsing to allow `:dhcp_{ip,lower,upper}`
   configuration options to make it through (so a user can override the
   removal behavior with some explicit configuration)
 - add the full `:network_name` to the details returned from
   `:read_dhcp_servers`, so we can have a durable value to pass to
   `:remove_dhcp_server`

Note that we do have to eat one more `VBoxManage list dhcpservers` for
each network interface to support this, but this seemed like a nominal
cost
2014-11-30 22:03:52 -06:00
Paul Hinze
24b6f21d1d providers/virtualbox: extract reading dhcpservers from hostonlyifs
This is just a refactor, no behavior change.

Instead of stitching together dhcpserver info in the structure returned
from `read_host_only_interfaces`, sprout a new driver method called
`read_dhcp_servers` to return that information separately.

This means that driver clients (well there's really only _one_ client in
`ProviderVirtualBox::Action::Network`) have to do a bit more work to get
interface and DHCP server information.

But this gives us (a) a cleaner and more consistent driver interface and
(b) groundwork for a fix for #3083, which will require interacting with
DHCP servers outside of the context of host-only interfaces.
2014-11-30 22:03:52 -06:00
Paul Hinze
703c1f153b providers/virtualbox: fix flaky test when rsync is not installed
test-only change

when rsync is not installed on the machine running the unit tests, the
prepare_nfs_settings tests end up calling the :nfs_installed capability
on the host, which fails on the fake host wired up in tests.

this adds some explicit stubbing to prevent the implicit assumption that
rsync is installed.
2014-11-30 22:03:27 -06:00
Mitchell Hashimoto
f122ed756c Merge pull request #4571 from jperville/docker-provider-allow-multiple-links-to-same-backend
providers/docker: allow multiple links to same backend (different aliases)
2014-10-23 09:45:14 -07:00
Mitchell Hashimoto
7287604450 Merge pull request #4671 from jramnani/fix/master/nfs_exports_file_for_freebsd_guests
Fix #4658. Bad NFS exports file on OS X & BSD hosts.
2014-10-23 09:12:00 -07:00
Mitchell Hashimoto
296d0639cc providers/docker: support auth [GH-4042] 2014-10-22 13:12:31 -07:00
Mitchell Hashimoto
7988f0fb7c Fix broken unit tests 2014-10-22 09:44:48 -07:00
Mitchell Hashimoto
82f806f438 Fix unit tests 2014-10-22 08:39:59 -07:00
Mitchell Hashimoto
9d4ab18f42 providers/docker: stop_timeout [GH-4504] 2014-10-21 17:50:45 -07:00
Jeff Ramnani
bd5fd7ab18 Fix #4658. Bad NFS exports file on OS X & BSD hosts.
For FreeBSD guests, Virtualbox can sometimes report the private network
interface IP address as "0.0.0.0".  This will cause an invalid NFS
exports file to be generated for FreeBSD and OS X hosts.

Fixed by not allowing Virtualbox to report a guest IP address of
"0.0.0.0".
2014-10-20 12:35:30 -05:00
Julien Pervillé
97341c3234 providers/docker: allow multiple links to same backend (different aliases). 2014-09-29 18:46:01 +02:00
Leo Simons
fec14cf04c Use -f argument to rm to force-remove files.
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.
2014-08-29 10:51:31 +02:00
Kalman Hazins
bb052366f7 Change symbols inside hashes to 1.9 JSON-like syntax 2014-05-22 12:35:12 -04:00