Commit Graph

38 Commits

Author SHA1 Message Date
Vladimir Varankin 0735f3f447 fix drivers GetUrl to build propper IPv6 addr
Signed-off-by: Vladimir Varankin <nek.narqo+git@gmail.com>
2015-11-13 13:19:15 +03: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 6c5dc41e6d Revert "Remove useless duplication on GetSSHHostname"
This reverts commit b6462eb6d0.

Signed-off-by: David Gageot <david@gageot.net>
2015-10-26 18:47:14 +01:00
Olivier Gambier b6462eb6d0 Remove useless duplication on GetSSHHostname
Signed-off-by: Olivier Gambier <olivier@docker.com>
2015-10-21 13:48:13 -07:00
Olivier Gambier bf3cd8b8f4 Remove useless duplication on PreCreateCheck
Signed-off-by: Olivier Gambier <olivier@docker.com>
2015-10-21 13:48:13 -07: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 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
Dave Henderson 3d002187fe Refactoring drivers to embed drivers.DefaultDriver
Signed-off-by: Dave Henderson <dhenderson@gmail.com>
2015-07-07 11:24:00 -04:00
Evan Hazlett f82032b28d remove provider
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2015-05-21 10:41:03 -04:00
Dave Henderson fe4652b21d Defaulting SoftLayer hostname to machine name
Signed-off-by: Dave Henderson <Dave.Henderson@ca.ibm.com>
2015-05-18 16:07:59 -04:00
Dave Henderson 6d750d04f1 Fixing panic when d.deviceConfig is nil
Signed-off-by: Dave Henderson <Dave.Henderson@ca.ibm.com>
2015-05-04 22:13:50 -04:00
Evan Hazlett a5aa222f9f Merge pull request #1101 from hairyhenderson/softlayer-vlan-support-766
Adding SoftLayer support for specifying Public and Private VLAN IDs
2015-05-04 12:35:02 -07:00
Dave Henderson 7c4ba8b560 Adding SoftLayer support for specifying Public and Private VLAN IDs
Signed-off-by: Dave Henderson <Dave.Henderson@ca.ibm.com>
2015-05-03 22:25:42 -04:00
Dave Henderson bd35fb3101 Fixing bug in GetIP where Public IP would always be returned despite use of --softlayer-private-net-only
Signed-off-by: Dave Henderson <Dave.Henderson@ca.ibm.com>
2015-05-03 22:14:11 -04: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
Vincent Bernat 9c71e647ed drivers/softlayer: don't let the driver wait for SSH
Installation of curl is handled directly by libmachine provisioning, so
there is no need to do it and hence wait for SSH to be ready.

Signed-off-by: Vincent Bernat <Vincent.Bernat@exoscale.ch>
2015-04-21 07:11:41 +02:00
Evan Hazlett 4047c97679 Merge pull request #1009 from hairyhenderson/softlayer-remove-sshkey-on-delete-765
Deleting Machine-generated SSH key from SoftLayer when host is canceled.
2015-04-20 14:00:24 -07:00
Rob Smart a625106876 Softlayer driver, correctly store provisioned VM IP address
Fix for Docker Machine gets stuck on IBM Softlayer #915
The ip address of the provisioned VM was not being stored in the driver IPAddress variable, this variable
was being used to check if the VM ssh service was up. However as the variable was a blank string the actual address being checked defaulted
to localhost:22, as a result the installation steps on the VM only worked if the user was running an ssh daemon on the machine they were using docker-machine from.

Signed-off-by: Rob Smart <smartrob@uk.ibm.com>
2015-04-16 13:21:09 +01:00
Dave Henderson 64a844071d Deleting Machine-generated SSH key from SoftLayer when host is canceled.
All the other drivers seem to do this, so I can't imagine this is a bad
idea ;)

Fixes #765

Signed-off-by: Dave Henderson <Dave.Henderson@ca.ibm.com>
2015-04-15 20:37:24 -04:00
Evan Hazlett 878e37cda6
softlayer: enable local disk in hostspec
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2015-04-15 11:03:39 -04:00
Vincent Bernat 91d12d06ec drivers: remove unneeded `GetDockerConfigDir()` and `dockerConfigDir` const
This method is not part of the driver interface anymore.

Signed-off-by: Vincent Bernat <Vincent.Bernat@exoscale.ch>
2015-04-10 17:03:11 +02:00
Dave Henderson 2da08635e8 Refactoring to move closures into methods
Signed-off-by: Dave Henderson <dhenderson@gmail.com>
2015-03-16 20:53:18 -04:00
Dave Henderson 30e0ca00b6 Wait for any activeTransactions to finish during Create
This adds an additional wait phase to make sure any active Transactions
are completed before Create tries to SSH in to the new host. This is
sometimes necessary because SSH can become available before SoftLayer
is fully done setting up the host and strange things can happen...

Signed-off-by: Dave Henderson <Dave.Henderson@ca.ibm.com>
2015-03-14 21:33:57 -04:00
Evan Hazlett 92bb9e5e20
merged origin/master
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2015-03-11 23:02:22 -04:00
Evan Hazlett bc6b66c122
drivers: specify defaults if values are missing; i.e. config updates
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2015-03-11 22:59:28 -04:00
Dave Henderson cdf4038721 Setting `DEBIAN_FRONTEND` to `noninteractive` in SoftLayer
Fixes #763

Signed-off-by: Dave Henderson <Dave.Henderson@ca.ibm.com>
2015-03-11 13:19:40 -04:00
Evan Hazlett b68f1146e2 Merge branch 'origin/master' into driver-refactor 2015-03-11 11:16:39 -04:00
Dave Henderson 5dd5c79358 Honouring the `--softlayer-image` flag
Even though Machine only really supports Ubuntu, we still shouldn't
hard-code the softlayer-image to `UBUNTU_LATEST` ;)

Fixes #759

Signed-off-by: Dave Henderson <Dave.Henderson@ca.ibm.com>
2015-03-10 09:59:40 -04:00
Evan Hazlett 4b034fd1b6
softlayer: update with new driver interface
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2015-03-09 23:58:52 -04:00
Evan Hazlett 96b660d5b7
softlayer: fix provisioning bug where curl is not available
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2015-03-09 18:31:41 -04:00
Evan Hazlett 54f36078f4 do not show debug for docker install by default; refactor install out of drivers
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2015-02-23 17:14:32 -05:00
Evan Hazlett 3a3ef6f45e add discovery to machine config; show swarm membership
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2015-02-20 13:07:21 -08:00
Evan Hazlett a949e12b6e store swarm config in driver; vendor Godeps; generate swarm token
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2015-02-20 13:07:21 -08:00
Jamie Furness d1ccb16a5c Need to sudo to install the package as well as perform update.
Signed-off-by: Jamie Furness <jamie@jamierf.co.uk>
2015-02-11 15:35:38 +00:00
Evan Hazlett 57810b298d This adds a method to the Driver: PreCreateCheck. This can be used
where you want to run some prerequisite checks before attempting to
create
the machine.  In the case of EC2, this is a check for an existing
keypair.  This can be used in the other drivers in the future as well.

Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2015-01-26 11:27:12 -05:00
Evan Hazlett 75f79ed25e use ubuntu 14.04 for remaining drivers
Signed-off-by: Evan Hazlett <ejhazlett@gmail.com>
2015-01-23 17:08:29 -05:00
Brian Goff b1d1c80a76 Use TLS stuff instead
Thanks @ehazlett

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-01-19 12:32:32 -05:00
Brian Goff 8d8c6fe71d Add softlayer driver
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2015-01-19 12:29:56 -05:00