Commit Graph

16 Commits

Author SHA1 Message Date
Anil Belur 0b0373d436 Fixes issue #2310 - machine ls --filter with engine label
* Added a new members `Labels` to `FilterOptions struct`, and `EngineOptions` to
`HostListItem struct`. `HostListItems` is already being read from the file
store `config.json` which TestFilterHostsReturnSetLabel engine labels.

* Modified `parseFilters()` and added new `func matchesLabel(`) which compares
the one or more label values provided as input.

* Also the changes include added tests for UT and integration.
Note: Have kept `--filter label=<key>=<value>` syntax which is similar to
`docker images --filter` to keep the usability consistent.

review comments from @dgageot

Signed-off-by: Anil Belur <askb23@gmail.com>
2015-12-08 10:15:31 +05:30
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
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 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 ac6a18ba25 Change none default state to Running
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2015-11-05 18:37:15 -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
David Gageot 3ab5520ea3 Fix Typos in integration tests
Signed-off-by: David Gageot <david@gageot.net>
2015-10-20 17:56:27 +02: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
David Gageot cd80b70d26 FIX #1914 Reject command lines with trailing flags
Signed-off-by: David Gageot <david@gageot.net>
2015-10-13 16:29:28 +02: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
Kazuyuki SUZUKI 2bc53a6ac3 Add argument assertion to inspect/status/url commands
Signed-off-by: Kazuyuki Suzuki <kechol28@gmail.com>
2015-10-01 14:15:29 +09: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 5fbfbe1ff7 Rehauled build system and integration testing
- USE_CONTAINER allow to seamlessly run targets inside or outside containers
- all build calls have been harmonized, honoring the same env variables
- contributing doc has been streamlined according to that
- kill the distinction between remote and local docker builds
- got rid of some of the byzantine calls in various asorted scripts
- support for static build, debug builds, verbose

Signed-off-by: Olivier Gambier <olivier@docker.com>
2015-09-18 15:47:00 -07:00
Eric Sage b333ea5294 Add regex based name filter to ls command.
Signed-off-by: Eric Sage <eric.david.sage@gmail.com>

Add regex support

Signed-off-by: Eric Sage <eric.david.sage@gmail.com>

Allow bad regex passthrough to reg string amtch

Signed-off-by: Eric Sage <eric.david.sage@gmail.com>

Add unit test

Signed-off-by: Eric Sage <eric.david.sage@gmail.com>

Add integration tests

Signed-off-by: Eric Sage <eric.david.sage@gmail.com>

Add documentation for name filter.

Signed-off-by: Eric Sage <eric.david.sage@gmail.com>
2015-07-22 21:06:26 -04:00
Nathan LeClaire ed01843dc9 Refactor integration tests
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2015-06-02 10:10:52 -07:00