- 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>
Some flags for the OpenStack driver did not have
a corresponding environment variable.
Among others, this is needed to run bats core tests
with the OpenStack driver.
Signed-off-by: Guillaume Giamarchi <guillaume.giamarchi@gmail.com>
- 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>
* Adds `--openstack-active-timeout` parameter to set the timeout
until a machine is active. Closes#1632
Signed-off-by: David Zerulla <ddaze@outlook.de>
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>
OpenStack driver waits for the machine to reach the expected state. This
is already done in libmachine for most instances of this pattern.
Signed-off-by: Vincent Bernat <Vincent.Bernat@exoscale.ch>
Waiting for SSH to start or Docker to be available is a step done
directly in the framework (in libmachine). There is no need for the
driver to do that.
Signed-off-by: Vincent Bernat <Vincent.Bernat@exoscale.ch>
This method is no longer called since
the docker installation has moved out
of the driver (54f3607).
Signed-off-by: Guillaume Giamarchi <guillaume.giamarchi@gmail.com>
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>
* Log machine creation.
* Typo in an error message 💅
* Shelve docker install output in /var/log.
* Improve the docker installation error message. Also, keep it from interrupting the host creation, so that you can actually run `machine ssh` or `machine rm` on the host afterward.
Signed-off-by: Ash Wilson <ash.wilson@rackspace.com>
* checkConfig is no longer a thing.
* Change the default Rackspace image to Ubuntu 14.04.
* Remove an unnecessary Network service.
* Show a nicer error when the Region is omitted.
Signed-off-by: Ash Wilson <ash.wilson@rackspace.com>
Boolean flag to indicate if docker have to
be installed on the machine. Useful when
docker is already installed and configured
in the OpenStack image. Default set to `true`
Signed-off-by: Guillaume Giamarchi <guillaume.giamarchi@gmail.com>
* Use the initialized client
* Fix the endpointType conditional
* Don't die if OS-EXT-IPS is not present
* Only log Openstack creation for Openstack drivers
* There's no option for MachineName, yet
Signed-off-by: Ash Wilson <ash.wilson@rackspace.com>
Otherwise, because of the way Go does method dispatch, derived versions of
those methods will never be called.
Signed-off-by: Ash Wilson <ash.wilson@rackspace.com>