Commit Graph

66 Commits

Author SHA1 Message Date
David Gageot 89d9e2fe90 Close drivers on exit
Signed-off-by: David Gageot <david@gageot.net>
2015-12-24 13:44:42 +01:00
Jean-Laurent de Morlhon 02dde087c9 Merge pull request #2552 from nathanleclaire/ls_timeout_nits
Aesthetic nitpicks on ls timeout
2015-12-11 10:55:40 +01:00
Nathan LeClaire 5358010229 Merge pull request #2526 from jeanlaurent/bugsnag
Monitor and report bug with bugsnag
2015-12-10 19:01:22 -08:00
Nathan LeClaire 29ffc04cc9 Aesthetic nitpicks on ls timeout
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2015-12-10 13:25:13 -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 02c235b8b9 Fix #2534 and #1696
Signed-off-by: Jean-Laurent de Morlhon <jeanlaurent@morlhon.net>
2015-12-10 16:51:59 +01:00
Jean-Laurent de Morlhon f37a0290dd Add shell list to help command
Signed-off-by: Jean-Laurent de Morlhon <jeanlaurent@morlhon.net>
2015-12-09 09:46:03 +01:00
Anil Belur a2a9ebb078 Minor fix updating the sub-command rm usage with -f.
This is a follow up for #2349

Signed-off-by: Anil Belur <askb23@gmail.com>
2015-12-08 16:55:54 +05:30
David Gageot 3612c55677 Add version to machine ls
Signed-off-by: David Gageot <david@gageot.net>
2015-12-03 16:27:42 +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 77fba72d13 Fixes #2349 - rm get user confirmation before proceeding further
* adds new flag `-y` prompting for user confirmation before removal
* Modified existing integration tests to work with the fix #2349.
* Added tests for checking user confirmation, updated the test cases use sub-shell with `|`
* Updated the reference docs for rm sub-command

incorporated changes by @dgageot, @jeanlaurent and @nathanleclaire

Signed-off-by: Anil Belur <askb23@gmail.com>
2015-12-02 09:17:33 +05:30
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
Nathan LeClaire 42b6249a8c Vendor codegangsta/cli properly
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2015-11-20 18:20:11 -08:00
David Gageot e537a51926 Merge pull request #2352 from jeanlaurent/better-cli
Fix create usage & description in cli
2015-11-19 13:39:02 +01:00
Jean-Laurent de Morlhon 1521fed1ed Add a version command
Signed-off-by: Jean-Laurent de Morlhon <jeanlaurent@morlhon.net>
2015-11-19 12:42:32 +01:00
Jean-Laurent de Morlhon 91b64ff913 Fix create usage & description in cli
Signed-off-by: Jean-Laurent de Morlhon <jeanlaurent@morlhon.net>
2015-11-19 12:19:56 +01:00
David Gageot eb39f098d5 Move code where it's used
Signed-off-by: David Gageot <david@gageot.net>
2015-11-13 16:27:50 +01:00
David Gageot 8bbfc6ef2a Remove unused code
Signed-off-by: David Gageot <david@gageot.net>
2015-11-13 16:27:50 +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
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
Olivier Gambier d2ada6488c Lint
Signed-off-by: Olivier Gambier <olivier@docker.com>
2015-11-05 13:34:07 -08:00
David Gageot 99d6fe134d Introduce CommandLine interface
Signed-off-by: David Gageot <david@gageot.net>
2015-11-05 06:07:57 +01: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
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 060f0a0db2 Fix issues with create and ssh command help text
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2015-10-30 16:21:47 -07:00
David Gageot 86c52ec3e7 Make commands code easier to test
Signed-off-by: David Gageot <david@gageot.net>
2015-10-29 11:15:17 +01:00
Nathan LeClaire c04eb43021 Remove redundant error log
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2015-10-28 13:56:29 -07: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
David Gageot 6bbec2df68 Report VirtualBox errors
Signed-off-by: David Gageot <david@gageot.net>
2015-10-21 21:03:51 +02: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
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 bd03e83239 Merge pull request #1873 from djimenez/detectShellWindows
Issue #1867 improve detectShell for windows
2015-10-05 13:32:53 -07:00
Alexey Grachov b970dddc8b Remove dead code.
Function getMachineDir is not used.

Signed-off-by: Alexey Grachov <grachov.alexey@gmail.com>
2015-09-29 20:30:20 +03:00
Nathan LeClaire 0a2b9c2784 Fix flag accidentally left out in PR carry
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2015-09-23 17:57:52 -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
Nathan LeClaire 2a15d98575 First steps to make ssh command smoother
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2015-09-21 12:16:47 -07:00
Donovan Jimenez 1dfca96c69 Issue #1867 improve detectShell for windows
newer versions of git bash use mintty which doesn't set TERM=cygwin but
does set SHELL appropriately. Allow for SHELL to be detected on windows
and only output the message if its not.

Signed-off-by: Donovan Jimenez <donovan.jimenez@gmail.com>
2015-09-17 15:53:33 -04:00
Xiaohui dcdd1a4757 cleanup log.*ln, unuseful methods, some typos error …
1. cleanup log.*ln for #1081
2. add "\n" to config command
3. typos error
4. remove unuseful methods: getBasedir@commands.go, and
GetDefaultTestHost@commands_test

Signed-off-by: Xiaohui Liu <xiaohui.liu@ucloud.cn>
2015-09-14 15:25:50 +08:00
Nathan LeClaire 03d4683755 Merge pull request #1503 from sergiobuj/add_status_command
Add status command
2015-07-22 15:55:45 -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
Sergio Botero 87cf7e222e Add status command
closes #1471 by adding the status command that prints the state of a
machine.

Signed-off-by: Sergio Botero <sergiobuj@gmail.com>
2015-07-14 19:10:40 -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 7bd70db83b
windows: error message if using powershell/cmd and none specified
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2015-06-09 13:18:15 -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
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 333b7e88a7 Implement docker-machine scp
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2015-05-13 17:22:42 -07:00
Dave Henderson a3c8b3474e Adding --filter flag to ls command
Initially supporting `swarm=`, `state=`, and `driver=` filters.

Signed-off-by: Dave Henderson <Dave.Henderson@ca.ibm.com>
2015-05-11 20:01:50 -04:00
Nathan LeClaire b672617287 Migrate engine-flag => engine-opt
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2015-05-11 11:57:09 -07:00
Evan Hazlett f3bcda1cff Merge pull request #1137 from nathanleclaire/fixup
Fix formatting and non-returning of error
2015-05-07 11:52:40 -07:00
Nathan LeClaire 8887ca2fed Fix formatting and non-returning of error
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2015-05-06 17:52:29 -07:00