Commit Graph

42 Commits

Author SHA1 Message Date
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
Olivier Gambier 4c96efa5fc Better coverage script
- added coveralls integration
- more efficient script logic
- simplified usage

Signed-off-by: Olivier Gambier <viapanda@gmail.com>
2015-09-10 16:28:19 -07:00
Ivan Mikushin 3c1caa5acb Build on any (even remote) docker
Signed-off-by: Ivan Mikushin <i.mikushin@gmail.com>
2015-08-19 13:18:25 +05:00
Nathan LeClaire 28831d1f65 Prioritize using make in build
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2015-08-14 15:41:03 -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
Mary Anthony d8d673bf24 Closes #1329 when merged
Updating links
Updating with the comments from the team

Signed-off-by: Mary Anthony <mary@docker.com>
2015-06-10 16:09:30 -07:00
Evan Hazlett ce61151e2b Merge pull request #1191 from peter-edge/fix_build_mac_1_4
Fix build for mac with golang 1.4 after doing godep go install ./...
2015-05-20 11:27:29 -04:00
Peter Edge ae33cf1448 fix build for mac with golang 1.4 after doing godep go install ./...
Signed-off-by: Peter Edge <peter.edge@gmail.com>
2015-05-18 23:07:30 +02:00
Dave Henderson 31c1e96e76 Adding linux/arm to the platforms that get built
Signed-off-by: Dave Henderson <Dave.Henderson@ca.ibm.com>
2015-05-15 23:15:40 -04:00
Nathan LeClaire f1c7577f82 Add environment variable option to skip docker build
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2015-05-05 14:39:13 -07:00
Evan Hazlett 6c8661f16f
run sum generation before uploading
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2015-03-30 13:48:14 -04:00
Evan Hazlett d32f30b14e
run the sum generation in the release script instead of build
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2015-03-30 13:11:33 -04:00
Evan Hazlett d121c4d742
run sum generation in container
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2015-03-30 12:42:36 -04:00
Evan Hazlett 50be9d2a4d
adds md5 and sha256 for binaries on release
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2015-03-27 07:38:35 -07:00
Evan Hazlett d8bd18d3bb add git commit to version info
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2015-03-20 14:41:48 -04:00
Evan Hazlett ed4fa09311
more integration test robustness
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2015-03-07 18:19:15 -05:00
Evan Hazlett 46d92fc326 rename integration test dir; do not run coverage script on integration test
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2015-02-27 12:39:46 -05:00
Ben Firshman 1c8eb08e1e Remove binaries in build after building image
This will bail before deleting the binaries if it can't connect to a
Docker host. Sometimes I build machine binaries when I haven't got a
machine and then it removes the machine binaries and then I can't
use machine to create a machine and then the universe implodes. :(

Signed-off-by: Ben Firshman <ben@firshman.co.uk>
2015-02-25 18:14:38 +00:00
Evan Hazlett b8ab9300e1 Merge pull request #453 from nathanleclaire/coverage
Add structure to generate code coverage representation
2015-02-16 14:19:01 -08:00
Evan Hazlett 3eb3c51f66
fix release script
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2015-02-10 16:44:32 -05:00
Nathan LeClaire d1fdc87f54 Add structure to generate code coverage representation
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2015-02-02 13:41:42 -08:00
Evan Hazlett 3e69997dcf tests for utils/utils.go
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2015-02-02 15:44:35 -05:00
Damien DUPORTAL 63fb06cd0b Change markdowns tags to not met git conflicts markers accidentaly
Adding a validating script for git conflict marks

Moving to Github flavored markdown titles

Signed-off-by: Damien DUPORTAL <damien.duportal@gmail.com>
2015-01-26 15:16:11 +01:00
Evan Hazlett ba7e4d3716
enable specifying arch along with os when building
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2015-01-23 10:24:37 -05:00
Nathan LeClaire 14b7e0fe5f Add some misses I found
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2015-01-22 12:01:40 -08:00
Simon Thulbourn 4ee78fa097 Change binary name to docker-machine
Signed-off-by: Simon Thulbourn <simon+github@thulbourn.com>
2015-01-22 18:50:08 +00:00
Evan Hazlett 3c55011995 wip: integration test updates
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2015-01-13 10:00:06 -05:00
Evan Hazlett b59d41b36b added test docs to readme; add doc info to tests
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2014-12-30 12:59:31 -05:00
Evan Hazlett ecd3a6eebe fix test script
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2014-12-30 12:59:05 -05:00
Evan Hazlett 1b1e678b76 added helper script for running tests in docker
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2014-12-30 12:59:04 -05:00
Evan Hazlett 882f98dcc0 started on integration tests
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2014-12-30 12:59:04 -05:00
Nathan LeClaire 2f44eca0d3 Fix scripting issue (systems which don't default to bash)
Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2014-12-17 10:11:43 -08:00
Nathan LeClaire b350a99bec Allow optional override of os and arch in build
With this change machine will still cross-compile for all supported OSes
/ archs by default, but allows user to customize args to the build
script.

Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>
2014-12-15 14:12:17 -08:00
Vincent Bernat c82997e3b3 Ensure `script/validate-gofmt` is executed with bash
While Travis does that, a user just running the script will get an
error.

Signed-off-by: Vincent Bernat <Vincent.Bernat@exoscale.ch>
2014-12-11 10:08:27 +01:00
Ben Firshman d95e4b3a6f Add release script
Signed-off-by: Ben Firshman <ben@firshman.co.uk>
2014-12-09 16:45:23 -08:00
Ben Firshman 79caf530ea Build Windows binaries
Signed-off-by: Ben Firshman <ben@firshman.co.uk>
2014-12-09 14:20:38 -08:00
Ben Firshman e42afabd03 Build and test using Docker
Signed-off-by: Ben Firshman <ben@firshman.co.uk>
2014-12-08 16:46:40 -08:00
Ben Firshman 6206a31776 Add script to validate gofmt
Signed-off-by: Ben Firshman <ben@firshman.co.uk>
2014-12-06 19:47:16 +01:00
Ben Firshman 42d225ef99 Add script to validate DCO
Signed-off-by: Ben Firshman <ben@firshman.co.uk>
2014-12-05 11:18:05 +01:00
Ben Firshman 8087aa3b47 Add Travis config
Signed-off-by: Ben Firshman <ben@firshman.co.uk>
2014-12-05 09:55:38 +01:00
Ben Firshman 22478c1336 Document build process
Signed-off-by: Ben Firshman <ben@firshman.co.uk>
2014-12-04 20:28:53 +01:00