Commit Graph

12 Commits

Author SHA1 Message Date
Madhu Venugopal b75601e84d Updating the network driver document with IPAM data
Signed-off-by: Madhu Venugopal <madhu@docker.com>
2015-10-03 16:38:24 -07:00
Madhu Venugopal 0066225da5 Integration with Docker Discovery
* integrated hostdiscovery package with the new Docker Discovery
* Integrated hostdiscovery package with libnetwork core
* removed libnetwork_discovery tag
* Introduced driver apis for discovery events
* moved overlay driver to make use of the discovery events
* Using Docker Discovery service.
* Changed integration-tests to make use of the new discovery

Signed-off-by: Madhu Venugopal <madhu@docker.com>
2015-10-01 12:32:55 -07:00
Zhang Wei 6b1fcf3e6a fix bad docs format
Fix some bad docs format

Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
2015-09-19 18:09:13 +08:00
Tom Denham 9e6378ad57 Correct formatting in remote.md
Signed-off-by: Tom Denham <tom@tomdee.co.uk>
2015-09-17 16:15:41 -07:00
Zhang Wei 304bfd6261 Add negotiation process for driver scope
Add one capability negotiation interaction after plugin handshake, use
this to determine plugin's capability instead of default "global" scope.

Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
2015-09-15 16:45:38 +08:00
Jana Radhakrishnan a5bd12b963 Remove multiple interface in an endpoint
Currently the endpoint data model consists of multiple
interfaces per-endpoint. This seems to be an overkill
since there is no real use case for it. Removing it
to remove unnecessary complexity from the code.

Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
2015-09-11 09:19:01 -07:00
Michael Bridgen 65519600f0 Document the remote driver protocol
And some minor updates to the preceding text.

Signed-off-by: Michael Bridgen <mikeb@squaremobius.net>
2015-06-05 12:18:50 +01:00
Michael Bridgen 614d82390c Make driver packages register themselves via DriverCallback
In the present code, each driver package provides a `New()` method
which constructs a driver of its type, which is then registered with
the controller.

However, this is not suitable for the `drivers/remote` package, since
it does not provide a (singleton) driver, but a mechanism for drivers
to be added dynamically. As a result, the implementation is oddly
dual-purpose, and a spurious `"remote"` driver is added to the
controller's list of available drivers.

Instead, it is better to provide the registration callback to each
package and let it register its own driver or drivers. That way, the
singleton driver packages can construct one and register it, and the
remote package can hook the callback up with whatever the dynamic
driver mechanism turns out to be.

NB there are some method signature changes; in particular to
controller.New, which can return an error if the built-in driver
packages fail to initialise.

Signed-off-by: Michael Bridgen <mikeb@squaremobius.net>
2015-05-11 19:00:06 +01:00
Madhu Venugopal 27d34d67ab Fixed some convoluted texts in remote.md and fixed a remote driver bug
Signed-off-by: Madhu Venugopal <madhu@docker.com>
2015-05-07 11:55:46 -07:00
Madhu Venugopal 904a313396 Remote Driver Registration
This commits brings in a functionality for remote drivers to register
with LibNetwork. The Built-In remote driver is responsible for the
actual "remote" plugin to be made available.

Having such a mechanism makes libnetwork core not dependent on any
external plugin mechanism and also the Libnetwork NB apis are free of
Driver interface.

Signed-off-by: Madhu Venugopal <madhu@docker.com>
2015-05-06 21:45:30 -07:00
Madhu Venugopal 0d45fb66b3 Added remote driver design doc
Signed-off-by: Madhu Venugopal <madhu@docker.com>
2015-05-06 20:16:43 -07:00
Dave Tucker 4f7eb502bf Add design documentation
This is an intial pass at the design docs.
Hopefully, we can merge this and then start accepting PRs to improve it!

Signed-off-by: Dave Tucker <dt@docker.com>
2015-05-06 11:53:55 -07:00