Commit Graph

424 Commits

Author SHA1 Message Date
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
Evan Hazlett 65b5624221
proper check for hyper-v during upgrade
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2015-07-24 13:33:46 -04:00
Evan Hazlett 030783af74
swarm: use --advertise instead of --addr for join
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2015-07-24 13:15:00 -04:00
Evan Hazlett 5af751ecf1
b2d: re-enable upgrade for local
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2015-07-24 09:38:01 -04:00
Evan Hazlett cb80c434ac b2d: use direct urls until release; devicemapper for engine opts tests
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>

b2d-ng: use driver names for iso versions

Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2015-07-24 09:07:01 -04:00
Evan Hazlett e09f2fdd9c vbox: change to get latest released iso instead of pre-release
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>

vbox: fix windows share dir for homedir

Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>

vbox: update tests for b2d

Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2015-07-24 09:07:01 -04:00
Evan Hazlett ab31d52165 update vbox driver to work with new b2d
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>

vbox: lock down shared folders to user home dir

Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>

use env var for user for cross platform

Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>

vbox: remove sudo from setting ssh key for user

Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>

wip: use homedir for share

Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2015-07-23 19:40:07 -04:00
Evan Hazlett b43a76deec add GetOsReleaseInfo to provisioner to assist in testing; add tests for rpm repo
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2015-07-22 20:56:28 -04:00
Evan Hazlett 01bf2ea2d7 use yum repos for redhat like distros
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2015-07-22 20:56:27 -04:00
Nathan LeClaire 79b9450fef Revert "Remove flat (0.1.0) => nested (0.2.0) migration code"
This reverts commit 2f831887c6.

Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2015-07-22 11:22:33 -07:00
Ryan Grothouse d553a2c757 added support for setting environment variables in docker engines
Signed-off-by: Ryan Grothouse <rgrothouse@gmail.com>
2015-07-16 16:12:06 -04:00
Evan Hazlett f8456d8bba Merge pull request #1494 from nathanleclaire/rename_machine_to_provider
Rename libmachine.Machine to libmachine.Provider
2015-07-11 20:33:22 -06:00
Emmanuel Bretelle 36ec026b38 [debian] Make enabling docker service work
Fixes #1495
/etc/systemd/system/docker.service was missing the [Install] section
making the enable action fail with:

```
root@jessie:~# systemctl enable docker
Synchronizing state for docker.service with sysvinit using
update-rc.d...
Executing /usr/sbin/update-rc.d docker defaults
Executing /usr/sbin/update-rc.d docker enable
The unit files have no [Install] section. They are not meant to be
enabled
using systemctl.
Possible reasons for having this kind of units are:
1) A unit may be statically enabled by being symlinked from another
unit's
   .wants/ or .requires/ directory.
2) A unit's purpose may be to act as a helper for some other unit which
has
   a requirement dependency on it.
3) A unit may be started when needed via activation (socket, path,
timer,
   D-Bus, udev, scripted systemctl call, ...).
```

Signed-off-by: Emmanuel Bretelle <chantr4@gmail.com>
2015-07-10 00:10:39 -07:00
Nathan LeClaire 3eaab15a5b Rename libmachine.Machine to libmachine.Provider
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2015-07-09 10:24:29 -07:00
Evan Hazlett 1620133970 Merge pull request #1263 from nathanleclaire/remove_top_level_migration
Remove flat (0.1.0) => nested (0.2.0) migration code
2015-07-08 16:02:35 -06:00
Nathan LeClaire 83a8a4c0f8 Merge pull request #1310 from exoscale/feature/exoscale-multiple-security-groups
exoscale: ability to specify multiple security groups on instance creation
2015-07-07 11:22:44 -07:00
Nathan LeClaire fd35c7df48 Set boot2docker hostname properly
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2015-07-06 13:11:07 -07:00
Vincent Bernat 4ec3f206b4 exoscale: use `StringSlice` to specify security groups
This mean that the option has to be repeated to specify multiple
security groups.

Signed-off-by: Vincent Bernat <Vincent.Bernat@exoscale.ch>
2015-06-30 10:59:23 +02:00
Nathan LeClaire 3064d52b7f Remove upgrade restriction on VMware providers
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2015-06-18 10:40:49 -07:00
Evan Hazlett 9ed3cb9c86
provisioning: update rpms for 1.7
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2015-06-18 12:44:44 -04:00
Evan Hazlett e37e90939b
provisioning: update rpms for RC3
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2015-06-15 16:16:16 -04:00
Nathan LeClaire e91c28fad6 Check for IP to be assigned before returning from Start()
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2015-06-11 14:02:27 -07:00
Evan Hazlett 4a54559233 Merge pull request #1280 from ehazlett/native-ssh-fix
fix issue with native ssh; fix tty allocation for redhat
2015-06-02 16:48:02 -04:00
Evan Hazlett a879b39902 Merge pull request #1268 from janeczku/waitforssh
Check that instance has started before polling SSH
2015-06-02 10:31:01 -04:00
Evan Hazlett cf0aee9fd7
support specifying swarm image and docker versions
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2015-06-01 16:20:56 -04:00
Evan Hazlett 0b5a389481
fix issue with native ssh; fix tty allocation for redhat
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2015-06-01 10:08:07 -04:00
Jan Broer c7e9dc7849 libmachine: wait for instance start before polling SSH
Signed-off-by: Jan Broer <janeczku@yahoo.de>
2015-05-29 16:54:06 +02:00
Nathan LeClaire 2f831887c6 Remove flat (0.1.0) => nested (0.2.0) migration code
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2015-05-28 15:01:55 -07:00
Evan Hazlett 584dec8a74
redhat: use engine version 1.7rc1
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2015-05-28 08:51:42 -04:00
Evan Hazlett be7c110dfd Merge pull request #1247 from ehazlett/redhat-tty-fix
redhat: fix tty provision bug
2015-05-27 13:57:44 -04:00
Evan Hazlett ec5edb0354
redhat: fix tty provision bug
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2015-05-27 10:56:43 -04:00
Evan Hazlett 53d0da039a
debian: rebase and fix configureSwarm
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2015-05-26 17:55:38 -04:00
Evan Hazlett 3e1a6ed98c debian: rebase and streamline sudo install
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2015-05-26 17:54:47 -04:00
Evan Hazlett 290ead9ea0 debian: use proper location for config
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2015-05-26 17:54:47 -04:00
Evan Hazlett c318008aea add debian provisioner
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2015-05-26 17:54:47 -04:00
Nathan LeClaire 47bd262260 Implement configurable Swarm options
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2015-05-26 10:18:34 -07:00
Nathan LeClaire 3385e4ef94 Nitpick struct fields
I find it easier to identify and read if they are labelled

Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2015-05-22 14:51:24 -07:00
Evan Hazlett 30ace6716e centos: update config path
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2015-05-21 13:45:51 -04:00
Evan Hazlett 065982b7d2 centos: add provisioner
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2015-05-21 13:45:51 -04:00
Evan Hazlett cab167c21a fedora: remove configure repo
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2015-05-21 13:45:51 -04:00
Evan Hazlett 8e9ce9ccdf fedora: provisioner based off of redhat
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2015-05-21 13:45:49 -04:00
Evan Hazlett 7998852368 fedora: use proper location for config file
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2015-05-21 13:44:40 -04:00
Evan Hazlett b4fa9f10a8 fedora: remove configure repo
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2015-05-21 13:44:40 -04:00
Evan Hazlett f17556b2fa fedora: provisioner based off of redhat
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2015-05-21 13:44:40 -04:00
Evan Hazlett bf7a5f2f53 redhat: remove aws check; update docs
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2015-05-21 13:44:40 -04:00
Evan Hazlett 380aaa2670 redhat: update before docker install; use simpler config in proper location
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2015-05-21 13:44:40 -04:00
Evan Hazlett 0dbfcd5535 redhat: remove configure repo as we use our own rpms now
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2015-05-21 13:44:40 -04:00
Evan Hazlett 0920a2de1b redhat: update RPM path
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2015-05-21 13:44:39 -04:00
Evan Hazlett ff2c057c96 redhat: use docker RPMs for install
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2015-05-21 13:44:39 -04:00
Evan Hazlett c46e7945c5 redhat: install official docker
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2015-05-21 13:44:39 -04:00
Evan Hazlett 9e9c0f1751 redhat: update for generic provisioner
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2015-05-21 13:44:39 -04:00
Evan Hazlett da7ac61be7 redhat: add redhat provisioning
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2015-05-21 13:44:37 -04:00
Nathan LeClaire 2f78b7f92a Move code to use SSH "backends"
Default to shelling out to SSH when available.

Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2015-05-19 15:02:57 -07:00
Evan Hazlett bf8eaea8ac Merge pull request #1096 from ibuildthecloud/rancheros
Support RancherOS, Fixes #992
2015-05-14 10:02:30 -04:00
Nathan LeClaire 8afddbeab8 Fix cert copying bug
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2015-05-13 22:19:27 -07:00
Nathan LeClaire 7f6d19ff47 Fix a few issues with certs
- regenerate-certs was busted, because of recent changes I made to
  Provision() method
- checksum was different between local certs and remote certs

This PR fixes both issues and adds tests to verify that both conditions
are checked in the future.

Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2015-05-12 15:11:23 -07:00
Evan Hazlett 9c92fd934a Merge pull request #1132 from ehazlett/provisioner-update-package-manager
provisioner: update metadata before install or upgrade
2015-05-12 08:09:04 -04:00
Evan Hazlett 197e35a021
use var block for updating metadata
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2015-05-11 09:44:34 -04:00
Darren Shepherd 30f0273608 RancherOS provisioner
RancherOS provisioner, tested with VirtualBox and AWS

Signed-off-by: Darren Shepherd <darren@rancher.com>
2015-05-07 13:46:25 -07:00
Darren Shepherd 7013b45dde Avoid panic when stripping empty string
Signed-off-by: Darren Shepherd <darren@rancher.com>
2015-05-07 13:46:25 -07:00
Evan Hazlett a3e08a010d Merge pull request #1108 from ibuildthecloud/vbox-sleep
Fix issue where GetIP in VirtualBox failes due to no SSH
2015-05-07 13:33:26 -07:00
Nathan LeClaire e152ecc30b Add check for machine state before upgrade
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2015-05-06 13:20:33 -07:00
Evan Hazlett 5adfb8b3f0
provisioner: update metadata before install or upgrade
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2015-05-06 13:18:46 -07:00
Evan Hazlett 4e64ff79f9 generic: update for upstream driver specification
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2015-05-05 11:04:48 -07:00
Darren Shepherd 8afe967a80 Fix issue where GetIP failes due to no SSH
The main goal of this patch was to make the VirtualBox driver wait for
SSH before trying to get the IP of the VM.  The generic WaitForSSH
method required a Host struct as an arg.  This patch moves most of the
logic to the driver package so that drivers can call WaitForSSH.  The
existing functions in host are just wrappers to the real
implementation in drivers now.

Signed-off-by: Darren Shepherd <darren@rancher.com>
2015-05-05 09:32:45 -07:00
Darren Shepherd 43b5786001 Default storage driver to "" and let provisioner choose default
The storage driver will be "" by default an the provisioner must choose
their default provisioner.  If the user chosen storage driver is not
supported the provisioner should return an error.

Signed-off-by: Darren Shepherd <darren@rancher.com>
2015-05-05 09:12:33 -07:00
Evan Hazlett e4b6ff1ae9 Merge pull request #1103 from nathanleclaire/active_based_on_env
Read active host from DOCKER_HOST instead of from file
2015-05-04 18:13:48 -07:00
Nathan LeClaire c602e69448 Read active host from DOCKER_HOST instead of from file
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2015-05-04 16:29:04 -07:00
Darren Shepherd fc4488a864 Refactor out common logic in UbuntuProvisioner
This change create GenericProvisioner which is the boilplate or
generic Linux functionality that was previously in the UbuntuProvisioner

Signed-off-by: Darren Shepherd <darren@rancher.com>
2015-05-03 17:21:46 -07:00
Nathan LeClaire 142ffadc2c Refactor logging to focus on simple STDOUT/STDERR
This also lays the foundation for the possibility of log drivers in the
future, if it is decided that is a direction to pursue.

Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2015-04-30 12:04:52 -07:00
Evan Hazlett a3eb0d077b Merge pull request #1040 from nathanleclaire/engine_options
Implement configurable engine options
2015-04-30 13:55:58 -04:00
Nathan LeClaire 2574c8ba5d Implement configurable engine options
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2015-04-29 17:58:14 -07:00
Aaron Welch 2a44f40f6c for ubuntu provision append hostname to 127.0.1.1 line in /etc/hosts
Signed-off-by: Aaron Welch <welch@packet.net>
2015-04-26 15:39:22 -04:00
Dave Henderson a0f079a627 Enhancing `docker-machine ip` to support multiple host arguments
Fixes #999

Signed-off-by: Dave Henderson <Dave.Henderson@ca.ibm.com>
2015-04-22 22:10:45 -04:00
Simon Thulbourn 709b0a84e3 Add SSH client
Signed-off-by: Simon Thulbourn <simon+github@thulbourn.com>
2015-04-21 15:37:09 +01:00
Rick Wieman 2b269c0b66 Moves the 'stopping machine' log below error log
Fixes #1032.

Signed-off-by: Rick Wieman <git@rickw.nl>
2015-04-21 14:18:46 +02:00
Nathan LeClaire 29999e9b10 Add a few improvements to stability
This improves on a few issues which are not frequent but do sometimes
come up:

1. Check that the daemon is up before attempting to do anything
   docker-ey in provisioning Ubuntu
2. Set a max retries for SSH so that if a request fails it attempts
   again before giving up

Also have annotated a few of the SSH options slightly better.

Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2015-04-06 13:00:09 -07:00
Evan Hazlett 45c8673f13 Merge pull request #920 from nathanleclaire/provisioner_upgrade
Provisioner upgrade
2015-03-31 12:12:51 -04:00
Nathan LeClaire 9b5f395c60 Implement upgrade functionality for boot2docker
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2015-03-30 16:18:38 -07:00
Aaron Welch 5c3ac31931 return empty key, val strings and nil err when given an empty string in parseLine()
add Centos test for ParseOsRelease() and blank line in test for ParseLine()
Signed-off-by: Aaron Welch <welch@packet.net>
2015-03-30 18:41:10 -04:00
Nathan LeClaire a04b908fd3 Implement upgrade for Ubuntu provisioner
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2015-03-30 15:23:25 -07:00
Evan Hazlett ee7617c2e7 Merge pull request #887 from nathanleclaire/listen_on_socket
Fix unix:// not working inside VM issue
2015-03-27 11:39:45 -07:00
Nathan LeClaire d6db67d0be Fix unix:// not working inside VM issue
With the way that provisioning was implemented, there was an issue
getting connection to the UNIX socket to work with the new boot2docker
1.6rc2 ISO.  This issue is related to the fact that the docker
service was not truly stopped during the provisioning.  This PR fixes
the issue and provides some tests to help ensure that it does not come
up again.

Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2015-03-27 10:41:12 -07:00
Nathan LeClaire abc5462c77 Rename migration functions to be more descriptive and add tests
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2015-03-25 11:21:09 -07:00
Nathan LeClaire 9cccc3a147 Fix location of validating hostname functionality
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2015-03-23 14:15:09 -07:00
Nathan LeClaire 3b2c8f9845 Migrate (swarmConfig) => (swarmOptions)
and (SwarmConfig) => (SwarmOptions)

Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>

Migrate (authConfig) => (authOptions)
        (AuthConfig) => (AuthOptions)

Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>

Migrate (hostConfig) => (hostOptions)
        (HostConfig) => (HostOptions)

Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2015-03-20 23:20:11 -07:00
Nathan LeClaire 04f5679e4f Add test for validation
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2015-03-20 21:47:11 -07:00
Evan Hazlett 28789604e9 provisioner: finished migration functions
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2015-03-20 23:17:42 -04:00
Nathan LeClaire 263c802d34 Fix missing test files
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2015-03-20 17:05:27 -07:00
Nathan LeClaire d189baf36c Move fakedriver to its own module for reuse
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2015-03-20 16:48:47 -07:00
Nathan LeClaire 73862e863c Update tests to work with new provisioning
Also, comment provisioner interface slightly better.

Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2015-03-20 16:30:46 -07:00
Nathan LeClaire 7b5c8a023f Clean up some remaining issues with libmachine merge
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2015-03-20 16:30:46 -07:00
Nathan LeClaire and Simon Thulborn 49feb33457 Implement majority of provisioning changes
Signed-off-by: Simon Thulborn <simon+github@thulborn.com>
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2015-03-20 16:30:46 -07:00
Evan Hazlett 4ca4a28788 libmachine: validate host config upon load
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2015-03-19 23:19:35 -04:00
Evan Hazlett 84c1d10a95 update tests
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2015-03-19 18:09:30 -04:00
Evan Hazlett 1691d19c9d libmachine: split swarm and engine options
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2015-03-19 18:09:30 -04:00
Evan Hazlett 31b63a1204 libmachine: add engine and swarm options
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2015-03-19 18:09:30 -04:00
Evan Hazlett 27be8cf28e initial pass at internal api
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2015-03-19 18:09:30 -04:00