Commit Graph

24 Commits

Author SHA1 Message Date
Nathan LeClaire
32185d47d2 Merge pull request #3866 from andrestc/core-drivers-slice
libmachine: initiliaze core drivers as slice instead of array
2016-11-11 11:28:06 -08:00
André Carvalho
bdc4af7f1f libmachine: initiliaze core drivers as slice instead of array
Signed-off-by: André Carvalho <asantostc@gmail.com>
2016-11-11 13:47:14 -02:00
Alexander Kanevskiy
be4aed9528 Improve error message if driver binary not available
This change provide more information which exact binary for
particular driver is missing in PATH

Signed-off-by: Alexander Kanevskiy <kad@linux.intel.com>
2016-10-28 17:44:20 +03:00
Ahmet Alp Balkan
ed95f3baab New Microsoft Azure docker-machine driver
The new driver uses Azure Resource Manager APIs and offers a lot
more functionality compared to the old Azure driver. It is also
easier to authenticate and does not require user to create and place
certificate files. It only has a single required argument.

This is a breaking change: The new driver cannot work with machines
created with the older Azure driver and vice versa (as the APIs are
entirely different and resources are not shared between old/new azure
APIs).

The new driver addresses many issues about the azure driver reported
so far.

This resolves #2742, resolves #1368, resolves #1142, resolves #2236,
resolves #2408, resolves #1126, resolves #774.

Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>
2016-03-07 19:55:51 -08:00
Ahmet Alp Balkan
b53f020c90 Remove azure driver temporarily
This commit temporarily removes Azure driver and its dependencies
from the source tree and adds dependencies for the new Azure driver
(so that Azure driver PR will not have godeps changes and will be
easier to review).

Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>
2016-03-07 13:34:09 -08:00
David Gageot
3990815e10 FIX #2688 - Run docker-machine from the PATH for core drivers
Signed-off-by: David Gageot <david@gageot.net>
2016-01-04 14:50:04 +01:00
David Gageot
c180a7962b Fix race condition. cmdWait will do the closing
Signed-off-by: David Gageot <david@gageot.net>
2015-12-28 13:26:47 +01:00
David Gageot
501c4f3460 Read only if there is something to read
Signed-off-by: David Gageot <david@gageot.net>
2015-12-28 11:49:38 +01:00
Nathan LeClaire
232c0ea37e Fix truncated plugin binary logs
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2015-12-28 11:49:38 +01:00
David Gageot
f56dab0676 Make test 10s faster
Signed-off-by: David Gageot <david@gageot.net>
2015-12-28 11:37:32 +01:00
Jean-Laurent de Morlhon
aa9ff22395 Test distinguish stdout from stderr
Signed-off-by: Jean-Laurent de Morlhon <jeanlaurent@morlhon.net>
2015-12-16 16:57:14 +01:00
Jean-Laurent de Morlhon
854219d44a Clearer writer name
Signed-off-by: Jean-Laurent de Morlhon <jeanlaurent@morlhon.net>
2015-12-16 16:51:03 +01:00
Nathan LeClaire
06c97cfb17 Fix STDOUT and STDERR direction based on Log.* calls
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2015-12-15 18:01:42 -08:00
Jean-Laurent de Morlhon
4f0c24483b bugsnag integration
Signed-off-by: Jean-Laurent de Morlhon <jeanlaurent@morlhon.net>
2015-12-10 17:05:05 +01:00
Jean-Laurent de Morlhon
4792177b11 Logrus Machine Logger
Signed-off-by: Jean-Laurent de Morlhon <jeanlaurent@morlhon.net>
2015-12-07 18:36:48 +01:00
Jean-Laurent de Morlhon
010a1c76e2 Use logrus
Signed-off-by: Jean-Laurent de Morlhon <jeanlaurent@morlhon.net>
2015-12-07 11:08:50 +01:00
Jean-Laurent de Morlhon
2e79f67e93 Cleanup stdout/stderr log initialization
Signed-off-by: Jean-Laurent de Morlhon <jeanlaurent@morlhon.net>
2015-12-07 10:33:32 +01:00
David Gageot
92ce49b367 Put all core drivers in docker-machine binary
Signed-off-by: David Gageot <david@gageot.net>
2015-12-02 18:48:19 +01:00
David Gageot
6de1fd13d3 Plugin's stdout shouldn't show OUT
Signed-off-by: David Gageot <david@gageot.net>
2015-11-18 16:45:58 +01:00
Olivier Gambier
89d9854943 Another pass at linting
Signed-off-by: Olivier Gambier <olivier@docker.com>
2015-11-10 16:58:14 +01:00
Nathan LeClaire
b92a6fd3ce Allow plugins to write to STDOUT
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2015-11-06 18:21:38 -08:00
Nathan LeClaire
9a4bc9a20d Ensure that ls will still work when plugin cannot be found
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2015-11-03 11:35:30 -08:00
Nathan LeClaire
76c7accda0 Add heartbeat / automatic server cleanup code
This replaces the previous method of attempting to clean up servers when
an unexpected exit occurs in the client (e.g. SIGINT or panic) by a
heartbeat protocol.  If the server does not hear from the connecting
client within a certain interval of time (500ms in this commit), it will
de-activate itself.  This prevents dangling Docker Machine server
processes from accumulating.

Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2015-10-22 19:44:35 -07:00
Nathan LeClaire
c8edb33ecd Move towards using external binaries / RPC plugins
- First RPC steps

- Work on some flaws in RPC model

- Remove unused TLS settings from Engine and Swarm options

- Add code to correctly encode data over the network

- Add client driver for RPC

- Rename server driver file

- Start to make marshal make sense

- Fix silly RPC method args and add client

- Fix some issues with RPC calls, and marshaling

- Simplify plugin main.go

- Move towards 100% plugin in CLI

- Ensure that plugin servers are cleaned up properly

- Make flag parsing for driver flags work properly

Includes some work carried from @dmp42 updating the build process and
tests to use the new method.

Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2015-10-16 16:34:56 -07:00