Commit Graph

455 Commits

Author SHA1 Message Date
Madhu Venugopal
4c4f71e2ac Added a new RetryError to indicate the caller to possibly retry
Signed-off-by: Madhu Venugopal <madhu@docker.com>
2015-06-17 16:46:08 -07:00
Alessandro Boch
883fc7bca4 Make bitseq.Handle thread-safe
Signed-off-by: Alessandro Boch <aboch@docker.com>
2015-06-17 16:46:08 -07:00
Alessandro Boch
d1a16bbb84 Add numerical ids manager
Signed-off-by: Alessandro Boch <aboch@docker.com>
2015-06-17 16:46:05 -07:00
Alessandro Boch
1f76a79bf7 bitseq to provide handle
- Handle contains sequence and identifier.
  This way datastore integration can be done
  at bitseq level.

Signed-off-by: Alessandro Boch <aboch@docker.com>
2015-06-17 16:37:59 -07:00
Alessandro Boch
3ff75bd42d Reorganize libnetwork ipam datastructures
- In order to facilitate usage of datastore
- This makes it slower. Efficiency will be
  revisited later after datastore integration
  is done.

Signed-off-by: Alessandro Boch <aboch@docker.com>
2015-06-17 16:37:59 -07:00
Alessandro Boch
a0e0d07250 Add locking to libnetwork ipam
Signed-off-by: Alessandro Boch <aboch@docker.com>
2015-06-17 16:37:59 -07:00
Alessandro Boch
75443aaf72 Add serialize/deserialize for sequence list
Signed-off-by: Alessandro Boch <aboch@docker.com>
2015-06-17 16:37:59 -07:00
Alessandro Boch
873ea8a224 Add libnetwork ipam implementation
Signed-off-by: Alessandro Boch <aboch@docker.com>
2015-06-17 16:37:59 -07:00
Alessandro Boch
3287a4c830 Add ipam contract
Signed-off-by: Alessandro Boch <aboch@docker.com>
2015-06-17 16:37:59 -07:00
Alessandro Boch
5034c9bb11 Add bitseq package
- Initial version
- It allows handling reservation/release of a finite set
  of resources through large bitmask.
- It represents the bitmask as a list of equal
  consecutive 32 bits long bitmask symbols.
  It basically operates on a run-length encoding
  of the bitmask without encode/decode processing.

Signed-off-by: Alessandro Boch <aboch@docker.com>
2015-06-17 16:37:59 -07:00
Madhu Venugopal
678d50f5b5 Updating CallFunc to match the Docker CLI API changes
Updated Docker deps to pickup UI changes

Signed-off-by: Madhu Venugopal <madhu@docker.com>
2015-06-15 09:41:28 -07:00
Madhu Venugopal
ed1d8c601d Merge pull request #296 from aboch/dn
Add implementation for lookupContainerID
2015-06-15 03:49:41 -07:00
Alessandro Boch
0969e192f2 Add implementation for lookupContainerID
Signed-off-by: Alessandro Boch <aboch@docker.com>
2015-06-15 02:45:30 -07:00
aboch
4ee065de2b Merge pull request #295 from mavenugo/mapi
workaround to a minor bug in mux which filters out empty query
2015-06-15 01:35:39 -07:00
Madhu Venugopal
04e96f3811 workaround to a minor bug in mux which filters out empty query
Signed-off-by: Madhu Venugopal <madhu@docker.com>
2015-06-15 01:25:45 -07:00
Jana Radhakrishnan
c83e31a761 Merge pull request #294 from mavenugo/sdcli
Few changes to the UI and API implementation
2015-06-14 22:26:56 -07:00
Madhu Venugopal
03504cab65 Few changes to the UI and API implementation
1. replaced --net option for service UI with SERVICE.[NETWORK] format
2. Making using of the default network/driver backend support
3. NetworkName and NetworkType from the UI/API can be empty string
   and it will be replaced with DefaultNetwork and DefaultDriver

As per the design goals, we wanted to keep libnetwork core free of
handling defaults. Rather, the clients (docker & dnet) must handle the
defaultness of these entities.
Also, since there is no API to get these Default values from the
backend, UI will not handle the default values either. Hence, this falls
under the responsibility of the API layer to handle this specific case.

Signed-off-by: Madhu Venugopal <madhu@docker.com>
2015-06-14 21:57:18 -07:00
Jana Radhakrishnan
c80ef08b9d Merge pull request #293 from mavenugo/dlabels
support for daemon labels
2015-06-14 09:19:49 -07:00
Madhu Venugopal
613e60bcec support for libnetwork daemon labels
Signed-off-by: Madhu Venugopal <madhu@docker.com>
2015-06-14 09:03:42 -07:00
Jana Radhakrishnan
4329f8d185 Merge pull request #291 from mavenugo/master
Return an empty config if nil
2015-06-13 15:14:49 -07:00
Madhu Venugopal
c85a58b6df Return an empty config if nil
Since the Config is a read-only entity, Confg() method returned a value
instead of the pointer. In cases the config is nil, we should return an
empty config.

Signed-off-by: Madhu Venugopal <madhu@docker.com>
2015-06-13 14:28:56 -07:00
Madhu Venugopal
95e9118d7e Merge pull request #277 from Microsoft/10662-compile3
Windows: Fix compile after SB interface
2015-06-12 12:58:37 -07:00
Jana Radhakrishnan
0eb856bfa5 Merge pull request #289 from mavenugo/defcfg
Moved the TOML based Configuration to dnet
2015-06-12 12:58:06 -07:00
Madhu Venugopal
9f3d1ce3ff Moved the TOML based Configuration to dnet
The configuration format for docker runtime is based on daemon flags and
hence adjusting the libnetwork configuration to accomodate it by moving
the TOML based configuration to the dnet tool.

Also changed the controller configuration via options

Signed-off-by: Madhu Venugopal <madhu@docker.com>
2015-06-12 12:46:12 -07:00
John Howard
b2a5ea49f3 Windows: Compiles again
Signed-off-by: John Howard <jhoward@microsoft.com>
2015-06-12 12:40:36 -07:00
aboch
a03b4138a2 Merge pull request #286 from mavenugo/master
Cherry-picked : enable hairpin mode on the bridge port & fix iptables rule
2015-06-12 08:39:00 -07:00
Madhu Venugopal
3ed19169a3 Merge pull request #284 from aboch/sv
Remove dnet binary
2015-06-11 19:32:32 -07:00
Madhu Venugopal
903fcbd154 enable hairpin mode on the bridge port & fix iptables rule
* When userland-proxy is disabled, enable hairpin mode on the host-side of the veth
* When userland-proxy is enabled, fix the iptable rules appropriately

Signed-off-by: Madhu Venugopal <madhu@docker.com>
2015-06-11 19:23:02 -07:00
Alessandro Boch
8c9c68bec9 Remove dnet binary
- It slipped in as part of a previous commit by mistake

Signed-off-by: Alessandro Boch <aboch@docker.com>
2015-06-11 18:38:03 -07:00
Madhu Venugopal
e6d9c78b65 Merge pull request #271 from aboch/sv
Rework service UI
2015-06-11 17:02:04 -07:00
Jana Radhakrishnan
b0739f9f8a Merge pull request #280 from mavenugo/libkv_m
Replace swarm store with libkv
2015-06-11 16:51:32 -07:00
Madhu Venugopal
3b2d2aa3ee Replace swarm store with libkv
Signed-off-by: Madhu Venugopal <madhu@docker.com>
2015-06-11 16:19:28 -07:00
Alessandro Boch
7de9f71eb5 Promote Service cli
- To the same level of Network cli
  and to make use of the new service
  rest apis

Signed-off-by: Alessandro Boch <aboch@docker.com>
2015-06-11 16:07:09 -07:00
Alessandro Boch
8aaf82c5b3 Endpoint to provide ContainerInfo
Signed-off-by: Alessandro Boch <aboch@docker.com>
2015-06-11 16:06:58 -07:00
Alessandro Boch
0912ecfc05 Add Service hierarchy to rest api
Signed-off-by: Alessandro Boch <aboch@docker.com>
2015-06-11 15:46:45 -07:00
aboch
2d2a702bc1 Merge pull request #260 from squaremo/now_with_more_semantics
Add note on EndpointInfo semantics
2015-06-11 15:35:39 -07:00
Jana Radhakrishnan
79e87c22ae Merge pull request #279 from aboch/smrm
Make sure sandbox files are removed after tests
2015-06-11 15:34:19 -07:00
Jana Radhakrishnan
fb06bd5a1a Merge pull request #264 from mavenugo/mh-ln
datastore support for endpoint, GetObject, DeleteObject and swarm store API upgrade
2015-06-11 15:28:19 -07:00
Alessandro Boch
b92d253d60 Make sure sandbox files are removed after tests
- and check for error on sandbox.Destroy() in tests

Signed-off-by: Alessandro Boch <aboch@docker.com>
2015-06-11 14:55:17 -07:00
Madhu Venugopal
9e8974cc64 Replacing isReservedNetwork with Driver capability
Currently store makes use of a static isReservedNetwork check to decide
if a network needs to be stored in the distributed store or not. But it
is better if the check is not static, but be determined based on the
capability of the driver that backs the network.

Hence introducing a new capability mechanism to the driver which it can
express its capability during registration. Making use of first such
capability : Scope. This can be expanded in the future for more such cases.

Signed-off-by: Madhu Venugopal <madhu@docker.com>
2015-06-10 23:59:38 -07:00
Madhu Venugopal
f88824fb8a Reworked endpoint store operation to address a few cases
* Removed network from being marshalled (it is part of the key anyways)
* Reworked the watch function to handle container-id on endpoints
* Included ContainerInfo to be marshalled which needs to be synchronized
* Resolved multiple race issues by introducing data locks

Signed-off-by: Madhu Venugopal <madhu@docker.com>
2015-06-10 23:59:29 -07:00
Jana Radhakrishnan
d67a1b3908 Merge pull request #276 from mrjana/cnm
Generate container mac address based on IP
2015-06-10 21:34:30 -07:00
Madhu Venugopal
47a3f3690d datastore delete support for network and endpoints
Signed-off-by: Madhu Venugopal <madhu@docker.com>
2015-06-10 21:19:31 -07:00
Madhu Venugopal
8dcdbbabd0 GetObject support
Signed-off-by: Madhu Venugopal <madhu@docker.com>
2015-06-10 21:17:56 -07:00
Madhu Venugopal
dca35085f5 datastore support for Endpoint
Signed-off-by: Madhu Venugopal <madhu@docker.com>
2015-06-10 21:17:55 -07:00
Madhu Venugopal
0fda541b37 Updating to new Swarm discovery and store APIs
Signed-off-by: Madhu Venugopal <madhu@docker.com>
2015-06-10 21:17:55 -07:00
Madhu Venugopal
a14da7ba36 Updating to latest Swarm dependancies
Signed-off-by: Madhu Venugopal <madhu@docker.com>
2015-06-10 21:17:55 -07:00
Jana Radhakrishnan
fcca4484cb Generate container mac address based on IP
Currently we craete container mac address completely
randomly. But we probably need to generate based on
IP so that the mac address stays the same for a given
IP.

Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
2015-06-10 20:12:43 -07:00
Jana Radhakrishnan
54b1d35adf Merge pull request #273 from mavenugo/delete_restore
handling error condition for network and endpoint deletes
2015-06-10 19:54:44 -07:00
Madhu Venugopal
fc9b204f39 handling error condition for network and endpoint deletes
Unless it is a forbidden error, libnetwork should not fail a forced
delete of a network and endpoint if the driver throws an error.

Signed-off-by: Madhu Venugopal <madhu@docker.com>
2015-06-10 16:21:46 -07:00