Commit Graph

13 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
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
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
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
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
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 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