Commit Graph

21 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
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
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
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
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 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
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
Simon Thulbourn 709b0a84e3 Add SSH client
Signed-off-by: Simon Thulbourn <simon+github@thulbourn.com>
2015-04-21 15:37:09 +01: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
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
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 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