Brian Cain
fb80e8da9f
Merge pull request #10890 from briancain/add-usability-check-for-docker-plus-tests
...
Add usability check for docker plus tests
2019-06-05 07:58:23 -07:00
Brian Cain
34e53a5a4b
Add docker provider class test
...
This commit introduces aa provider_test class for the Docker provider
2019-06-04 13:24:07 -07:00
Anders Kaseorg
7980178d19
providers/docker: Add usability test
...
Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2019-05-30 13:13:43 -07:00
Brian Cain
ca0fd64ded
Fixes #10798 : Enhance how docker compose driver path expands
...
Prior to this commit, the docker compose driver would _always_ path
expand a host volume no matter what. This is not always the correct
option, for example if that host volume is actually a reference to a key
inside a `volumes` hash instead of a path on disk. This commit changes
that by looking to see if the requested host volume is actually a
defined key inside the compose config, and if not, it will path expand
it like before. Otherwise it will leave the key "as is".
2019-04-29 16:14:37 -07:00
Brian Cain
75d4aa42a1
Ensure non-existent machines do not attempt to list snapshots
...
Prior to this commit, if a snapshot restore was run on an entire
environment with some non-existent guests, Vagrant would attempt to list
their snapshots with a nil id. This commit fixes that by returning an
empty list of snapshots if the machine has not been created yet.
2019-04-09 13:11:19 -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
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
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
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
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
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