906 Commits

Author SHA1 Message Date
Alessandro Boch 094b657ff9 Remove 2^32 bits restriction on bitsequence
- Allow bitsequence of length 2^64-1
- Updated ID Manager and IPAM

Signed-off-by: Alessandro Boch <aboch@docker.com>
2015-10-10 05:42:26 -07:00
aboch b5e66b502d Merge pull request #627 from mavenugo/vin-fixes
Few more fixes identified during integration
2015-10-10 04:09:25 -07:00
Madhu Venugopal 16e1647872 Few more fixes identified during integration
Signed-off-by: Madhu Venugopal <madhu@docker.com>
2015-10-10 03:49:39 -07:00
Jana Radhakrishnan 15be04dbde Merge pull request #611 from sanimej/slice
marshal/unmarshal for overlay multiple subnets
2015-10-09 20:17:20 -07:00
Madhu Venugopal ab2a9e6cba Merge pull request #625 from aboch/acf
Relax restriction on IpamConfig
2015-10-09 20:04:15 -07:00
Madhu Venugopal fbc701d8d7 Merge pull request #626 from mrjana/bugs
Network ep count increment/decrement needs retry
2015-10-09 20:03:29 -07:00
Jana Radhakrishnan 73935333f6 Network ep count increment/decrement needs retry
Today we try to increment/decrement endpoint count
only once even if it is a key modified error. In case
of key modified error we should retry it to allow it to
succeed.

Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
2015-10-09 19:37:25 -07:00
Alessandro Boch eda95b48f4 Relax restriction on IpamConfig
- Both an empty and nil list of IpamConf object
  will trigger auto-allocation for ipv4.
  Auto-allocation for ipv6 will still be excluded
  in the two cases above.

Signed-off-by: Alessandro Boch <aboch@docker.com>
2015-10-09 17:54:28 -07:00
Alessandro Boch e2620d6b3e Preserve default ipam driver setting
- If IPAMConf does not contain an ipam driver setting

Signed-off-by: Alessandro Boch <aboch@docker.com>
2015-10-09 14:24:49 -07:00
Alessandro Boch 49cbd88831 Network to expose ipam config
Signed-off-by: Alessandro Boch <aboch@docker.com>
2015-10-09 14:24:38 -07:00
Madhu Venugopal dda36227d3 Merge pull request #622 from mrjana/bugs
Move sandbox resources when container restarts
2015-10-09 13:56:59 -07:00
Jana Radhakrishnan a559c45f0a Move sandbox resources when container restarts
Currently when container has a restart policy and gets
restarted, docker does not release networking and allocate
it back. But it presents libnetwork with a new sandbox while
all the network resources are locked in the old sandbox. This
commit attempts to move all the network resources from the old
sandbox to the new sandbox when libnetwork is presented with the
new sandbox.

Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
2015-10-09 13:43:25 -07:00
Jana Radhakrishnan cc8a9df7f4 Merge pull request #621 from mavenugo/vin-fixes
move Labels from array to map to be consistent with docker
2015-10-09 11:25:31 -07:00
Madhu Venugopal 998617236b move Labels from array to map to be consistent with cotnainers
Signed-off-by: Madhu Venugopal <madhu@docker.com>
2015-10-09 11:08:13 -07:00
Jana Radhakrishnan 5347a05701 Merge pull request #618 from mavenugo/vin-fixes
Fixed a bridge driver bug in unmarshalling DefaultBridge
2015-10-09 08:40:25 -07:00
Madhu Venugopal 29f9670d0b Fixed a bridge driver bug in unmarshalling DefaultBridge
Signed-off-by: Madhu Venugopal <madhu@docker.com>
2015-10-09 03:53:22 -07:00
Jana Radhakrishnan 59ae76f6c0 Merge pull request #616 from mavenugo/vin-fixes
Fixed a couple of error messages to address UX related comments
2015-10-09 02:12:50 -07:00
Madhu Venugopal fd583747c8 Fixed a couple of error messages to address UX related comments
Signed-off-by: Madhu Venugopal <madhu@docker.com>
2015-10-09 01:45:24 -07:00
Jana Radhakrishnan 0cfe3bafc2 Merge pull request #222 from aboch/nlb
Labels support for Network Create
2015-10-09 01:16:48 -07:00
Alessandro Boch d53a6f9815 Enable network labels in Rest API
Signed-off-by: Alessandro Boch <aboch@docker.com>
2015-10-09 01:06:20 -07:00
Alessandro Boch fbe33267f0 Enable Network labels in backend
- Allow labels to be passed to network driver during network create

Signed-off-by: Alessandro Boch <aboch@docker.com>
2015-10-09 01:06:15 -07:00
Alessandro Boch 9df6bb2778 Add netlable. KeyValue() and ToMap()
Signed-off-by: Alessandro Boch <aboch@docker.com>
2015-10-09 00:21:09 -07:00
Madhu Venugopal a08562d89e Merge pull request #615 from mrjana/bridge
Make the integration tests robust
2015-10-09 00:17:37 -07:00
Jana Radhakrishnan a92fadbe59 Make the integration tests robust
Currently integration test is a bit flaky because of
variability in the dnet bootup time. Fixed it to wait for
dnet to come up before performing any tests.

Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
2015-10-09 00:06:51 -07:00
Jana Radhakrishnan b77b0b054d Merge pull request #612 from aboch/bip
Retire ipallocator
2015-10-08 22:29:08 -07:00
Madhu Venugopal 7eac5d1a59 Merge pull request #613 from mrjana/bridge
Make bridge driver networks persistent
2015-10-08 21:46:18 -07:00
Jana Radhakrishnan 81f8ce8536 Add default network restart test case
Added restart test for default network so that we can test
bridge network persistence. Also added changes to dnet to
delete the default network if it is present.

Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
2015-10-08 21:31:19 -07:00
Jana Radhakrishnan 845ef40a45 Make bridge driver networks persistent
Since libnetwork is going to provide createNetwork
notifications only once when the network is created
bridge network needs to save it's network state in
persistent store so that it becomes available even
after restart.

Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
2015-10-08 20:42:45 -07:00
Alessandro Boch bc4a61cadf Retire ipallocator
Signed-off-by: Alessandro Boch <aboch@docker.com>
2015-10-08 18:19:25 -07:00
Jana Radhakrishnan e57c67d6bf Merge pull request #600 from aboch/br
Bridge driver changes to support IPAM model
2015-10-08 16:30:43 -07:00
Alessandro Boch a49fb6b897 Phase-2 bridge driver changes to support IPAM
- Set bridge ipv4 address when bridge is present
- IPv6 changes for bridge
- Convert unit tests to the new model

Signed-off-by: Alessandro Boch <aboch@docker.com>
2015-10-08 16:22:03 -07:00
Jana Radhakrishnan ed7d9045b4 Merge pull request #610 from mavenugo/revert-598
Revert "Share libkv store handles across datastore handles"
2015-10-08 15:57:21 -07:00
Madhu Venugopal 55ef6e6101 Merge pull request #602 from dhiltgen/tls
Add support for configuring TLS
2015-10-08 15:56:10 -07:00
Jana Radhakrishnan 2fa6d67f34 Merge pull request #607 from mavenugo/libkv-upd
Libkv update with boltdb concurrent connection fix
2015-10-08 15:40:24 -07:00
aboch 116947dfc0 Merge pull request #604 from mavenugo/vin-fixes
Fixed a few issues identified during docker integration
2015-10-08 15:35:54 -07:00
Madhu Venugopal 4a5989d6cc Revert "Share libkv store handles across datastore handles" 2015-10-08 15:29:07 -07:00
Madhu Venugopal bc4190db87 Removing boltdb timeout
Now that libkv supports concurrent access to boltdb, there is no point
in depending on timeout mechanism

Signed-off-by: Madhu Venugopal <madhu@docker.com>
2015-10-08 15:02:03 -07:00
Madhu Venugopal 3c623fab9f Godep update to libkv 1.9.0-integ branch
Signed-off-by: Madhu Venugopal <madhu@docker.com>
2015-10-08 15:01:17 -07:00
Madhu Venugopal b462ed4566 Phase-1 bridge driver changes to support IPAM
Signed-off-by: Madhu Venugopal <madhu@docker.com>
2015-10-08 14:26:58 -07:00
Madhu Venugopal d3db6f890e Merge pull request #606 from mrjana/model
Cleanup dangling sandboxes on boot up
2015-10-08 01:03:32 -07:00
Jana Radhakrishnan cd123e3502 Cleanup dangling sandboxes on boot up
Currently when docker exits ungracefully it may leave
dangling sandboxes which may hold onto precious network
resources. Added checkpoint state for sandboxes which
on boot up will be used to clean up the sandboxes and
network resources.

On bootup the remaining dangling state in the checkpoint
are read and cleaned up before accepting any new
network allocation requests.

Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
2015-10-07 20:08:47 -07:00
Daniel Hiltgen dd5d8179dd Add support for configuring TLS
This adds a new options configuration routine that the engine
can call in order to configure TLS for libnetworks KV store.

Signed-off-by: Daniel Hiltgen <daniel.hiltgen@docker.com>
2015-10-07 17:49:49 -07:00
Madhu Venugopal 05ccdff0a8 Merge pull request #586 from aboch/v6
libnetwork to handle allocation of ipv6
2015-10-07 17:49:07 -07:00
Madhu Venugopal f32970c4ae Any newly added data to an existing marshalled object must nil check
Signed-off-by: Madhu Venugopal <madhu@docker.com>
2015-10-07 14:51:46 -07:00
Madhu Venugopal 7311919cb9 Removing the endpoint name restriction
Signed-off-by: Madhu Venugopal <madhu@docker.com>
2015-10-07 14:51:40 -07:00
Alessandro Boch 0c2be91253 libnetwork to handle allocation of ipv6
Signed-off-by: Alessandro Boch <aboch@docker.com>
2015-10-07 13:57:28 -07:00
Jana Radhakrishnan 9e1d4e4c02 Merge pull request #599 from aboch/il
Fix in handling aux addresses
2015-10-07 13:42:10 -07:00
Alessandro Boch e78829b007 Fix in handling aux addresses
- libnetwork should reserve only the auxiliary
  addresses which belong to the container
  addresable pool. And should fail the network
  creation if the aux addr does not belong to
  the master pool.

Signed-off-by: Alessandro Boch <aboch@docker.com>
2015-10-07 13:06:41 -07:00
aboch b7e4f5d741 Merge pull request #598 from mrjana/store
Share libkv store handles across datastore handles
2015-10-06 23:00:38 -07:00
Jana Radhakrishnan 8fe58a2981 Share libkv store handles across datastore handles
Currently every `NewDatastore` creates a brand new
libkv store handle. This change attempts to share
the libkv store handle across various datastore handles
which share the same scope configuration. This enables
libnetwork and drivers to have different datastore handle
based on the same configuration but share the same
underlying libkv store handle.

This is mandatory for boltdb libkv backend because no two
clients can get exclusive access to boltdb file at the same
time. For other backends it just avoids the overhead of having
too many backend client instances

Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
2015-10-06 22:06:45 -07:00