Commit Graph

347 Commits

Author SHA1 Message Date
David Gageot eeb568fd27 FIX 2510 Support DNS names
Signed-off-by: David Gageot <david@gageot.net>
2015-12-08 10:11:33 +01:00
David Gageot 8f6b8da399 Merge pull request #2483 from dongmx/master
Swarm container net should be host. If use bridge, sometime containers…
2015-12-08 09:03:35 +01:00
David Gageot 6583e64e48 Merge pull request #2486 from dongmx/issue2485
issue #2485, In generic driver If a permanent IP address and hostname has alread in /etc/hosts
2015-12-08 09:01:35 +01:00
Lance Andersen 60dba4d2d5 added advertise flag to swarm manager
Signed-off-by: Lance Andersen <techlance@gmail.com>
2015-12-07 12:37:26 -07: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 1079735af8 Remove withFields
Signed-off-by: Jean-Laurent de Morlhon <jeanlaurent@morlhon.net>
2015-12-07 10:34:43 +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
Jean-Laurent de Morlhon 892e19c019 delete unused method
Signed-off-by: Jean-Laurent de Morlhon <jeanlaurent@morlhon.net>
2015-12-07 10:33:32 +01:00
Jean-Laurent de Morlhon 109bea4151 Extract interface and Remove log.print
Signed-off-by: Jean-Laurent de Morlhon <jeanlaurent@morlhon.net>
2015-12-07 10:33:32 +01:00
David Gageot 7f499308fc Merge pull request #2507 from dgageot/dead-code
Remove dead code
2015-12-07 09:51:07 +01:00
David Gageot 293055fcbc Remove dead code
Signed-off-by: David Gageot <david@gageot.net>
2015-12-07 09:15:12 +01:00
Kunal Kushwaha 66db37814d Bugfix#2504 Rename of temp file fails.
Tempfile was not closed, so rename opertion was failing.
Minor code refactor is done, to make function more readable.

Signed-off-by: Kunal Kushwaha <kushwaha_kunal_v7@lab.ntt.co.jp>
2015-12-07 14:02:36 +09:00
Nathan LeClaire a277bc6c0a Merge pull request #2453 from dgageot/single-binary
Put all core drivers in docker-machine binary
2015-12-04 15:31:45 -08:00
David Gageot 3612c55677 Add version to machine ls
Signed-off-by: David Gageot <david@gageot.net>
2015-12-03 16:27:42 +01:00
dongmx ce524e1740 Swarm container net should be host. If use bridge, sometime container ip addresses conflict.
Signed-off-by: dongmx <dongmx@xueqiu.com>
2015-12-03 19:11:34 +08:00
dongmx e799388e85 issue #2485, If a permanent IP address and hostname has alread in /etc/hosts
Signed-off-by: dongmx <dongmx@xueqiu.com>
2015-12-03 18:59:40 +08: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
Jean-Laurent de Morlhon f9f886f529 Display driver in error without crashing
Signed-off-by: Jean-Laurent de Morlhon <jeanlaurent@morlhon.net>
2015-12-02 18:27:21 +01:00
Anil Belur 1a3c3898c1 Fixes #1931
Now this change ensures `config.json` is first written into a temp-file and
rename into the original file, if no errors from the FS. If ENOSPC occurs on write,
when the machine is restarted, the previous `config.json` is still available on startup.

Extended `TestStoreSave()` to check for any residual config files in the
machine directory.

Signed-off-by: Anil Belur <askb23@gmail.com>
2015-12-02 21:42:01 +05:30
Jean-Laurent de Morlhon 225abe05fe Move heartbeat code after getversion
Signed-off-by: Jean-Laurent de Morlhon <jeanlaurent@morlhon.net>
2015-12-02 16:29:08 +01:00
Jean-Laurent de Morlhon 88f6fce204 Fix for #2474
Signed-off-by: Jean-Laurent de Morlhon <jeanlaurent@morlhon.net>
2015-12-02 16:29:08 +01:00
Nathan LeClaire f7ea3d9f19 Merge pull request #2434 from dgageot/check-after-create
Check machine after create
2015-11-30 16:24:43 -08:00
David Gageot 643b7349f7 Remove duplicated FakeApi
Signed-off-by: David Gageot <david@gageot.net>
2015-11-30 18:30:00 +01:00
Jean-Laurent de Morlhon 48554182f1 Merge pull request #2427 from newpcraft/debugmsg_in_daemonresponding
add debug message in dockerDaemonResponding function due to helping f…
2015-11-30 09:56:29 +01:00
Jean-Laurent de Morlhon aa36205174 Merge pull request #2432 from dgageot/provision-logs
Add more logs to provisioner
2015-11-27 09:50:42 +01:00
David Gageot 0c12b7dbc1 Check machine after create
Signed-off-by: David Gageot <david@gageot.net>
2015-11-27 09:43:34 +01:00
David Gageot 78b088d135 Add more logs to provisioner
Signed-off-by: David Gageot <david@gageot.net>
2015-11-27 09:36:58 +01:00
CHOE JUNGYEON 83f3c2f921 add debug message in dockerDaemonResponding function due to helping for troubleshooting of docker daemon state 2015-11-27 02:37:50 +09:00
David Gageot 518e3b8bde Rename to rawDriver
Signed-off-by: David Gageot <david@gageot.net>
2015-11-26 14:08:09 +01:00
Nathan LeClaire 3a8061221c Remove RawDriver from persistence on disk
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2015-11-25 22:16:24 -08:00
Nathan LeClaire 08565fd198 Merge pull request #2396 from allingeek/master
Decoupled RPC Types from API
2015-11-25 22:03:29 -08:00
Nathan LeClaire 1acde29ebe Merge pull request #2413 from dgageot/simpler-code
Simpler code
2015-11-25 15:28:10 -08:00
Jeff Nickoloff c4a72491ec Decoupled RPC Types from API
Added compatibility for both 5.0 and 5.1 RPC plugins.
Addresses #2325

Signed-off-by: Jeff Nickoloff <jeff@allingeek.com>

	modified:   libmachine/drivers/plugin/register_driver.go
	modified:   libmachine/drivers/rpc/client_driver.go
2015-11-25 13:02:31 -08:00
Nathan LeClaire 3ddea9f53f Merge pull request #2409 from dgageot/more-commands-tests
Add more command tests
2015-11-25 10:25:09 -08:00
David Gageot 79efe19887 Simpler code
Signed-off-by: David Gageot <david@gageot.net>
2015-11-25 19:01:12 +01:00
Jean-Laurent de Morlhon 67b83f518f Fix #2410
Signed-off-by: Jean-Laurent de Morlhon <jeanlaurent@morlhon.net>
Reviewed-by: David Gageot <david@gageot.net>
2015-11-25 18:27:35 +01:00
David Gageot 742cdb958b Add more command tests
Signed-off-by: David Gageot <david@gageot.net>
2015-11-25 14:23:29 +01:00
Nathan LeClaire 47da7f8314 Add interfaces for CLI unit testing and env test
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2015-11-24 18:09:27 -08:00
Nathan LeClaire 7b483fe0ee Revise CommandLine interface to contain libmachine client and store
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2015-11-24 09:59:58 -08:00
Nathan LeClaire 19ce7b79bd Revise CommandLine interface to contain libmachine client and store
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2015-11-23 19:29:20 -08:00
Jean-Laurent de Morlhon a55bba3ed2 Move tls-san flag to a local flag for create
Signed-off-by: Jean-Laurent de Morlhon <jeanlaurent@morlhon.net>
2015-11-23 12:40:07 +01:00
Sam Alba 5b453e6305 Implemented '--tls-san' global arg for adding extra SANs (subject alt names) to server-side certificates
Signed-off-by: Sam Alba <sam.alba@gmail.com>
2015-11-23 12:17:29 +01:00
David Gageot b9b7b6fe54 Merge pull request #2343 from nathanleclaire/systemd_remove_duplication
Remove systemd-related driver duplication
2015-11-19 10:10:54 +01:00
Nathan LeClaire fc0981bd0f Remove systemd-related driver duplication
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2015-11-18 14:36:08 -08:00
David Gageot b00e30c38f Revert "Remove systemd-related driver duplication"
This reverts commit fda08f5e15.

Signed-off-by: David Gageot <david@gageot.net>
2015-11-18 17:36:40 +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
David Gageot 88c48196ef Merge pull request #2326 from nathanleclaire/systemd_remove_duplication
Remove systemd-related driver duplication
2015-11-18 10:46:35 +01:00
David Gageot a618a029cf Merge pull request #2327 from nathanleclaire/netstat_add_flga
Add -n to get port number for netstat
2015-11-18 09:27:10 +01:00
Nathan LeClaire fda08f5e15 Remove systemd-related driver duplication
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2015-11-17 19:47:10 -08:00
Nathan LeClaire 1bdedc6ea2 Add -n to get port number for netstat
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2015-11-17 18:24:44 -08:00
Nathan LeClaire a0b75d1645 Merge pull request #2214 from nathanleclaire/delete_bridge
Delete bridge after powering daemon down
2015-11-17 16:56:35 -08:00
Thomas Recloux 4457dce51d Introduce support for ubuntu 15.04 and higher
Starting with version 15.04, ubuntu is based on systemd. The existing
ubuntu provider did not support systemd.

This commit introduce a new provider dedicated to systemd based
versions.

The previous provider is renamed to ubuntu_upstart.

Provider detection uses the /etc/os=release VERSION_ID.
Version ID is converted to a float value and then used to choose between
providers.

Unit tests are validating the provisioner compatibility.

Fixes #1891

Signed-off-by: Thomas Recloux <thomas.recloux@gmail.com>
2015-11-17 11:21:41 +01:00
David Gageot 8bbfc6ef2a Remove unused code
Signed-off-by: David Gageot <david@gageot.net>
2015-11-13 16:27:50 +01:00
Jean-Laurent de Morlhon fe37f1fb0d Fix #2204 broken env unset
Signed-off-by: Jean-Laurent de Morlhon <jeanlaurent@morlhon.net>
2015-11-12 17:32:27 +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 bc7da2b0fa Merge pull request #2172 from dgageot/2154-query-virtualbox-serially
FIX #2154 query virtualbox serially
2015-11-09 12:00:03 -08:00
Olivier Gambier 93376828af Merge pull request #2216 from nathanleclaire/plugin_stdout
Allow plugins to write to STDOUT
2015-11-07 14:00:12 -08:00
David Gageot 68092b3524 FIX #2154 query virtualbox serially
Signed-off-by: David Gageot <david@gageot.net>
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2015-11-07 16:14:25 +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 a31808d07e Remove newline
Infof adds it automatically.

Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2015-11-06 18:18:06 -08:00
Nathan LeClaire b0f687b1b8 Merge pull request #2168 from dgageot/2167-b2d-upgrade
FIX #2167 b2d download timeout during upgrade
2015-11-06 18:16:52 -08:00
Nathan LeClaire a020c3eac7 Delete bridge after powering daemon down
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2015-11-06 17:49:33 -08:00
Kunal Kushwaha 055de5f276 BugFix: IP in template need as per Struct
Lint changes in SwarmCommandOptions chnaged `Ip` to `IP`.
It required change in template code also.

Signed-off-by: Kunal Kushwaha <kushwaha_kunal_v7@lab.ntt.co.jp>
2015-11-06 15:47:15 +09:00
Olivier Gambier d2ada6488c Lint
Signed-off-by: Olivier Gambier <olivier@docker.com>
2015-11-05 13:34:07 -08:00
David Gageot 11922080a1 FIX #2171 Fix faulty flag and add tests for SetConfigFromFlags
Signed-off-by: David Gageot <david@gageot.net>
2015-11-05 18:57:03 +01:00
David Gageot 1f0de8f84e FIX #2167 b2d download timeout during upgrade
+ Download boot2docker before we stop the machine.
+ Use default(longer) timeout
+ Show b2d download progress
+ Fix typo
+ Add log before stop

Signed-off-by: David Gageot <david@gageot.net>
2015-11-05 09:39:33 +01:00
Nathan LeClaire ede8f2a32f Merge pull request #2166 from kunalkushwaha/swarm-proxy
Environment variables passed to provision machine, will be passed to …
2015-11-04 18:50:41 -08:00
Kunal Kushwaha 8d2ae162b7 Environment variables passed to provision machine, will be passed to containers for swarm also.
Signed-off-by: Kunal Kushwaha <kushwaha_kunal_v7@lab.ntt.co.jp>
2015-11-05 11:27:58 +09:00
Nathan LeClaire 6be950f1c0 Merge pull request #2117 from dmp42/08-carry-on-2033
Carry on commits from #2033
2015-11-04 16:41:40 -08:00
Nathan LeClaire 828cb12e2c Merge pull request #2177 from dmp42/13-lint-attempt-again
Lint, step 1
2015-11-04 15:29:52 -08:00
Nathan LeClaire 47aa16cff4 Merge pull request #2135 from janeczku/plugin-versioning
Fail gracefully when plugin binary implements outdated API
2015-11-04 14:40:54 -08:00
Olivier Gambier 19fc49b58a Lint, step 1
The easy stuff

Signed-off-by: Olivier Gambier <olivier@docker.com>
2015-11-04 14:17:58 -08:00
Jan Broer 66ca5b07a2 Fail gracefully when plugin binary implements outdated API
Signed-off-by: Jan Broer <janeczku@yahoo.de>
2015-11-04 14:24:01 +01: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 f5b6c87e7c Remove automatic certificate regeneration
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2015-11-02 19:31:29 -08:00
Olivier Gambier ae2d344c2b Carry on commits from #2033
A couple of small cleanup and enhancements that were dropped after the revert.

Signed-off-by: Olivier Gambier <olivier@docker.com>
2015-10-30 16:33:26 -07:00
Nathan LeClaire 70e137991d Fix DriverName missing in 0.3.1 => 0.5.0 migration
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
Signed-off-by: David Gageot <david@gageot.net>
2015-10-30 14:22:52 -07:00
Nathan LeClaire 3dd578318a Stop heartbeat when there is an issue connecting to the server
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2015-10-26 12:55:48 -07:00
David Gageot 57dc1156de Revert "Remove duplication over GetIP"
This reverts commit 99aacc7b79.

Signed-off-by: David Gageot <david@gageot.net>
2015-10-26 18:47:03 +01:00
David Gageot a7559fd3a8 Revert "Generic and Base slight cleanups"
This reverts commit 19625def22.

Signed-off-by: David Gageot <david@gageot.net>
2015-10-26 18:46:54 +01:00
Nathan LeClaire 8b9291de64 Merge pull request #2033 from dmp42/03-cleanup
Code cleanup
2015-10-23 11:27:44 -07:00
Olivier Gambier 4bd43d604f Merge pull request #2053 from nathanleclaire/rpc_heartbeat
Add heartbeat / automatic server cleanup code
2015-10-23 10:40:45 -07:00
Olivier Gambier 19625def22 Generic and Base slight cleanups
- tests for GetIP
- extract default values into consts (user & port)
- better error handling (cert permissions change)
- unexport Driver for generic (linting)
- ordering of methods and variables for better readability

Signed-off-by: Olivier Gambier <olivier@docker.com>
2015-10-23 10:38:57 -07:00
Olivier Gambier 4e7f8ed7a6 Merge pull request #1856 from databus23/b2d_gh_enterprise_urls
support github enterprise urls for b2d downloads
2015-10-23 10:37:46 -07:00
Dave Goehrig 1df80ba111 Adding localhost to the list of alt_names
When attempting to connect to the docker api from the machine itself,
the TLS verification of the certificate checked against the public
IP address of the primary interface.  This is undesirable on hosts
which have NAT rules that block access to that address by default.

Adding "localhost" to the list of alt_names allows the cert to be
verified and connections to localhost (either 127.0.0.1 or [::1]) to
the port to pass verification. Otherwise one would need to disable
verification just to connect to the local docker instance.

Signed-off-by: David Gageot <david@gageot.net>
2015-10-23 09:57:55 +02: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 e80e448cd5 Merge pull request #2035 from flavio/add_openSUSE_and_SUSE_provision
Add SUSE Enterprise Linux and openSUSE provision
2015-10-22 14:54:58 -07:00
Nathan LeClaire f6bbbdce7f Merge pull request #2056 from xiaohui/force-tty-allocation
force tty allocation for ssh with multiple '-tt'.
2015-10-22 11:29:31 -07:00
Olivier Gambier c60b2cb2f9 Merge pull request #1910 from posita/posita/1880-ssl-cert-snafu
READY FOR REVIEW - Work-around erroneous SSL: CERTIFICATE_VERIFY_FAILED error with some buggy versions of OpenSSL
2015-10-22 09:57:56 -07:00
Olivier Gambier 1bfb34afd3 Merge pull request #2057 from dgageot/remove-dead-code
Remove dead code
2015-10-22 09:38:22 -07:00
Fabian Ruff 335811df0c support upgrading b2d from custom urls
.

Signed-off-by: Fabian Ruff <fabian@progra.de>
2015-10-22 16:12:21 +02:00
Fabian Ruff 5021ffd2e7 support github enterprise urls for b2d downloads
This commit allows downloading boot2docker releases not only from the official releases url (https://api.github.com/repos/boot2docker/boot2docker/releases) but from arbitrary github repositories that publish releases with a boot2docker.iso artifact. It also supports downloading from github enterprise.

Signed-off-by: Fabian Ruff <fabian@progra.de>
2015-10-22 16:12:21 +02:00
David Gageot e2b6a832ac Add more debug during certificates validation
Signed-off-by: David Gageot <david@gageot.net>
2015-10-22 11:11:31 +02:00
David Gageot 035c0de9e5 Remove dead code
Signed-off-by: David Gageot <david@gageot.net>
2015-10-22 11:02:54 +02:00
Xiaohui Liu 27cdffe042 force tty allocation for ssh with multiple '-tt'.
fix #2037:
when provision on CentOS 7.0, it needs to force tty allocation with multiple '-t' option.
Otherwise, the ssh command will failed with "sudo: sorry, you must have a tty to run sudo"
in SetHostname.

Signed-off-by: Xiaohui Liu <xiaohui.liu@ucloud.cn>
2015-10-22 16:26:22 +08:00
Matt Bogosian f80dc360c7 Inspired by #1880 (and docker/compose#890 et al.). Make sure `ca.pem` subject is different from `cert.pem` subject to work-around OpenSSL bug.
Signed-off-by: Matt Bogosian <mtb19@columbia.edu>
2015-10-21 17:53:15 -07:00
Nathan LeClaire 4157dff31c Increase SSH timeout back to five minutes
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2015-10-21 15:27:20 -07:00
Olivier Gambier 99aacc7b79 Remove duplication over GetIP
+ ip address proper validation

Signed-off-by: Olivier Gambier <olivier@docker.com>
2015-10-21 13:48:13 -07:00
Olivier Gambier c2589c8099 Trivial cleanup / ordering / inline doc
Signed-off-by: Olivier Gambier <olivier@docker.com>
2015-10-21 13:48:13 -07:00
Olivier Gambier bf3cd8b8f4 Remove useless duplication on PreCreateCheck
Signed-off-by: Olivier Gambier <olivier@docker.com>
2015-10-21 13:48:13 -07:00
Flavio Castelli 987718f24d Add SUSE Enterprise Linux and openSUSE provision
Add support for SUSE Enterprise Linux and openSUSE.

Code revised to build against current master.

Signed-off-by: Flavio Castelli <fcastelli@suse.com>
2015-10-21 09:18:56 +02:00
Olivier Gambier 2b56c016b5 Revert "Add SUSE Enterprise Linux and openSUSE provision" 2015-10-20 19:35:09 -07:00
Olivier Gambier 2c6a671015 Merge pull request #1436 from flavio/add_openSUSE_and_SUSE_provision
Add SUSE Enterprise Linux and openSUSE provision
2015-10-20 19:32:30 -07:00
Dave Henderson 1b5bbaa494 Adding provisioner for Arch Linux
Signed-off-by: Dave Henderson <dhenderson@gmail.com>
2015-10-20 16:07:04 -04:00
Nathan LeClaire 5bba2b3a64 Merge pull request #2012 from nathanleclaire/forward_compat_configs
Add some small support for forward compatible configuration mistakes
2015-10-19 17:43:03 -07:00
Nathan LeClaire 7400a77b32 Add some small support for forward compatible configuration mistakes
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2015-10-19 17:29:17 -07:00
Dave Henderson 486e359e63 Fixing JSON marshaling of large numbers during migration
- Added some context to an error message - it's useful to know _which_
  plugin failed when invoking the binary failed
- Replaced `json.Umarshal` with a `json.Decoder`, so that the
  `UseNumber` function can be called, which prevents large integers from
  being interpreted as `float64`s.
- Fixed a couple `log.Warn` calls that should've been `log.Warnf`

Signed-off-by: Dave Henderson <dhenderson@gmail.com>
2015-10-19 18:00:19 -04:00
Dave Henderson 2a6e3dbf40 Fix log.* method calls which meant to be log.*f
Stuff like `log.Debug("foo bar: %s", baz)` really wants to be
`log.Debugf("foo bar: %s", baz)`...

Signed-off-by: Dave Henderson <dhenderson@gmail.com>
2015-10-17 15:59:25 -04: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
Nathan LeClaire 7f18deb79f Merge pull request #1951 from nathanleclaire/windows_ssh
Fix Windows SSH issues
2015-10-13 17:53:18 -07:00
Nathan LeClaire 998ada5303 Fix Windows SSH issues
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2015-10-13 16:42:08 -07:00
Kent Wang da26cab450 Remove TerminalLogger.
Signed-off-by: Kent Wang <pragkent@gmail.com>
2015-10-13 11:31:46 +08:00
Kent Wang 6f3648735c Fix filenames of loggers.
Signed-off-by: Kent Wang <pragkent@gmail.com>
2015-10-10 16:28:45 +08:00
Nathan LeClaire a7d08d9bcd Merge pull request #1950 from nathanleclaire/wonk_dial
Display error message only when create was otherwise successful
2015-10-08 16:34:03 -07:00
Kendrick Coleman 3ed0377956 clarified hostname error with valid characters
this is a fix for #1922 to add in a valid character error message.

Signed-off-by: Kendrick Coleman <kendrickcoleman@gmail.com>
2015-10-08 15:15:09 -04:00
Nathan LeClaire b1ed661da9 Display error message only when create was otherwise successful
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2015-10-07 20:29:19 -07:00
Nathan LeClaire 94c551b964 Fix broken --storage-path flag
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2015-10-07 13:31:00 -07:00
Nathan LeClaire a5b0ebe0ec Add --github-api-token flag and troubleshooting section
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2015-10-06 15:12:18 -07:00
Evan Hazlett c4cd2385bf Merge pull request #1685 from nathanleclaire/daemon_wait_over_ssh
Fix Docker daemon wait
2015-09-24 16:56:37 -04:00
Olivier Gambier b6cb3e2b2d Tests fixes / silence build / add unit tests
Signed-off-by: Olivier Gambier <olivier@docker.com>
2015-09-23 16:51:54 -07:00
Nathan LeClaire 9453df4859 Fix Docker daemon wait
Also, a few various cleanups are bundled:

1. Only call GetDriver() once to get the object in provision/utils.go
2. SSH command wrapper will return the error and let the consumer decide
   what to do with it instead of bailing automatically on non-255

Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2015-09-23 15:19:25 -07:00
Nathan LeClaire b5927f10c4 Make libmachine usable by outside world
- Clear out some cruft tightly coupling libmachine to filestore

- Comment out drivers other than virtualbox for now

- Change way too many things

- Mostly, break out the code to be more modular.

- Destroy all traces of "provider" in its current form.  It will be
brought back as something more sensible, instead of something which
overlaps in function with both Host and Store.

- Fix mis-managed config passthru

- Remove a few instances of state stored in env vars

- This should be explicitly communicated in Go-land, not through the
shell.

- Rename "store" module to "persist"

- This is done mostly to avoid confusion about the fact that a concrete
instance of a "Store" interface is oftentimes referred to as "store" in
the code.

- Rip out repetitive antipattern for getting store

- This replaces the previous repetive idiom for getting the cert info, and
consequently the store, with a much less repetitive idiom.

- Also, some redundant methods in commands.go for accessing hosts have
either been simplified or removed entirely.

- First steps towards fixing up tests

- Test progress continues

- Replace unit tests with integration tests

- MAKE ALL UNIT TESTS PASS YAY

- Add helper test files

- Don't write to disk in libmachine/host

- Heh.. coverage check strikes again

- Fix remove code

- Move cert code around

- Continued progress: simplify Driver

- Fixups and make creation work with new model

- Move drivers module inside of libmachine

- Move ssh module inside of libmachine

- Move state module to libmachine

- Move utils module to libmachine

- Move version module to libmachine

- Move log module to libmachine

- Modify some constructor methods around

- Change Travis build dep structure

- Boring gofmt fix

- Add version module

- Move NewHost to store

- Update some boring cert path infos to make API easier to use

- Fix up some issues around the new model

- Clean up some cert path stuff

- Don't use shady functions to get store path :D

- Continue artifact work

- Fix silly machines dir bug

- Continue fixing silly path issues

- Change up output of vbm a bit

- Continue work to make example go

- Change output a little more

- Last changes needed to make create finish properly

- Fix config.go to use libmachine

- Cut down code duplication and make both methods work with libmachine

- Add pluggable logging implementation

- Return error when machine already in desired state

- Update example to show log method

- Fix file:// bug

- Fix Swarm defaults

- Remove unused TLS settings from Engine and Swarm options

- Remove spurious error

- Correct bug detecting if migration was performed

- Fix compilation errors from tests

- Fix most of remaining test issues

- Fix final silly bug in tests

- Remove extraneous debug code

- Add -race to test command

- Appease the gofmt

- Appease the generate coverage

- Making executive decision to remove Travis coverage check

In the early days I thought this would be a good idea because it would
encourage people to write tests in case they added a new module.  Well,
in fact it has just turned into a giant nuisance and made refactoring
work like this even more difficult.

- Move Get to Load
- Move HostListItem code to CLI

Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2015-09-23 12:30:15 -07:00
Olivier Gambier 09d3dad46b Fix vet errors and enforce vet on travis
Signed-off-by: Olivier Gambier <olivier@docker.com>
2015-09-19 16:09:44 -07:00
Evan Hazlett b8150450a6
fix debian provisioning bug with systemd
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2015-09-17 15:16:18 -04:00
Xiaohui 102007b231 separate pkgaction into 'pkgaction' and 'serviceaction'
ignored IntellJ IDEA files

Signed-off-by: Xiaohui Liu <xiaohui.liu@ucloud.cn>
2015-09-17 11:15:38 +08:00
Nathan LeClaire f531eed130 Merge pull request #1848 from dmp42/5-hostsyntax
Fix #1846
2015-09-16 11:52:57 -07:00
Matt McNaughton a0b9d179b1 Fix Go Vet errors
This commit makes no changes to code execution, but rather resolves some
`go vet` errors, the majority of which relate to `fatal` being used
instead of `fatalf` during testing.

Signed-off-by: Matt McNaughton <mattjmcnaughton@gmail.com>
2015-09-14 22:37:16 -04:00
Olivier Gambier 009ed57719 Fix #1846
Signed-off-by: Olivier Gambier <viapanda@gmail.com>
2015-09-13 13:13:58 -07:00
Olivier Gambier 9d60bb7c73 Fmt fixes
Signed-off-by: Olivier Gambier <viapanda@gmail.com>
2015-09-10 18:27:13 -07:00
Evan Hazlett 08208bd141 Merge pull request #1463 from mschygulla/coreos-provisioner
Provisioner for CoreOS
2015-09-02 14:44:50 -04:00
Evan Hazlett ca2ab8c137
remove sudo -E for provisioning
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2015-08-13 17:16:41 -04:00
Evan Hazlett 52a9c70277
debian/ubuntu: do not upgrade the system for a single package
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2015-08-13 08:55:16 -04:00
Evan Hazlett f3f8b268e0
fixes upgrade for debian/ubuntu for new package name
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2015-08-13 01:24:15 -04:00
Martin Schygulla 8328e96d93 Provisioner for CoreOS
Signed-off-by: Martin Schygulla <martin.schygulla@gmail.com>
2015-08-11 15:38:39 +02:00
Matt McNaughton 003770f2d4 Use a single function for checking active machine
Fix https://github.com/docker/machine/issues/1651

As pointed out in the issue above, the `active` and `ls` commands used
different methods for determing the active machine. This commit defines
a single method on the `host` struct called `IsActive` which provides
a uniform check for machine activness. `IsActive` returns true only
if `DOCKER_HOST == url` and the state is not stopped - previously the
`active` command only checked the url.

* Add a single `host` method `IsActive` for determining if a machine is
  active.

Signed-off-by: Matt McNaughton <mattjmcnaughton@gmail.com>
2015-08-07 15:58:51 -04:00
Nathan LeClaire 8ba5a57072 Revert "Merge pull request #1552 from ehazlett/b2d-next"
This reverts commit 736ebb14fb, reversing
changes made to c6660bf62c.

Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2015-08-03 14:46:52 -07:00
Evan Hazlett 1469b3b704 Merge pull request #1612 from skatsuta/empty-dockerhost-active
libmachine: Filestore#GetActive() should return an error if DOCKER_HOST is empty
2015-07-31 05:15:08 -07:00
Evan Hazlett a51e4aaf5d Merge pull request #1620 from skatsuta/fix-hostname-test
libmachine: fix a test to check a host name is the same as expected
2015-07-31 05:05:58 -07:00
Soshi Katsuta 3f41f8ac4c libmachine: fix a test error message to show an expected host name
Signed-off-by: Soshi Katsuta <soshi.katsuta@gmail.com>
2015-07-31 16:38:00 +09:00
Soshi Katsuta c8987830b9 libmachine: fix a test to check the host name is right
Signed-off-by: Soshi Katsuta <soshi.katsuta@gmail.com>
2015-07-31 16:37:46 +09:00
Soshi Katsuta 47a890f27f libmachine: change an error message in Filestore#GetActive()
Signed-off-by: Soshi Katsuta <soshi.katsuta@gmail.com>
2015-07-31 16:05:54 +09:00
Evan Hazlett 751e80eefd Merge pull request #1597 from nathanleclaire/ls_timeout
Add Timeout state to ls command
2015-07-30 17:54:28 -07:00
Nathan LeClaire e9c285cf6a Add Timeout state to ls command
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2015-07-30 13:44:40 -07:00
Soshi Katsuta aba294cbb1 libmachine: return an error if DOCKER_HOST is empty
Signed-off-by: Soshi Katsuta <soshi.katsuta@gmail.com>
2015-07-30 19:50:08 +09:00
Evan Hazlett 7614212d4f Merge pull request #1564 from nathanleclaire/revert_migration
Revert configuration migration removal, include new version field, and introduce migration boilerplate
2015-07-29 16:50:49 -07:00
Nathan LeClaire 802393f253 Skip and warn on wonky /etc/os-release lines
If the lines don't split cleanly (occasionally STDERR gets mixed in, for
instance, due to our current SSH output setup), we should simply
log.Warn in the output instead of bailing completely.

Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2015-07-28 18:07:51 -07:00
Nathan LeClaire fb2e843e99 - Re-introduce config migration; fix panics occurring from older configs
- Introduce boilerplate for config.json migrations

Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2015-07-28 15:38:16 -07:00
Flavio Castelli 5de71f7e38 Add SUSE Enterprise Linux and openSUSE provision
Add support for SUSE Enterprise Linux and openSUSE

Signed-off-by: Flavio Castelli <fcastelli@suse.com>
2015-07-28 17:46:19 +02:00
Evan Hazlett 736ebb14fb Merge pull request #1552 from ehazlett/b2d-next
VirtualBox: Update to support new B2D
2015-07-24 18:20:42 -04:00