1
0
Fork 0
mirror of https://github.com/moby/moby.git synced 2022-11-09 12:21:53 -05:00
Commit graph

1893 commits

Author SHA1 Message Date
Lei Jitang
433e3dfe98 Remove driver endpoints on network deleting
Signed-off-by: Lei Jitang <leijitang@huawei.com>
2016-10-14 10:05:20 +08:00
Santhosh Manohar
3696adb39e Merge pull request from LK4D4/fix_sb_race
fix race in serializing sandbox to string
2016-10-13 13:16:59 -07:00
Santhosh Manohar
2be2c7786d Merge pull request from LK4D4/fix_race_delete_network
networkdb: fix race in deleteNetwork
2016-10-13 12:56:39 -07:00
Madhu Venugopal
3d08c3099a Merge pull request from aboch/ports
Reset endpoint port info on connectivity revoke in bridge driver
2016-10-13 11:33:41 -07:00
Alessandro Boch
2781cb0e1e Force go 1.7.1 in circle.yml to resolve failure to get golint
Signed-off-by: Alessandro Boch <aboch@docker.com>
2016-10-12 13:02:53 -07:00
Alessandro Boch
cff2573d1f Reset endpoint port info on connectivity revoke in bridge driver
- and update it to store. Otherwise after an ungraceful shutdown,
  at next boot there will be in store two bridge endpoints with
  same port-mapping data. When bridge driver will try to restore
  the endpoints, there will be conflicts and a container with
  restart policy could fail to start.

Signed-off-by: Alessandro Boch <aboch@docker.com>
2016-10-12 13:02:47 -07:00
Alexander Morozov
c772d14e58 networkdb: fix race in deleteNetwork
There are multiple places which reads from that slice(i.e. bulkSync).

Signed-off-by: Alexander Morozov <lk4d4math@gmail.com>
2016-10-12 08:42:05 -07:00
Alexander Morozov
7a51c79979 fix race in serializing sandbox to string
Signed-off-by: Alexander Morozov <lk4d4math@gmail.com>
2016-10-10 09:41:43 -07:00
Alessandro Boch
eb02cb999b Merge pull request from anusha-ragunathan/update_path
Update plugingetter import path.
2016-10-07 13:25:42 -07:00
Anusha Ragunathan
5c77ba43e2 Update plugingetter import path.
Signed-off-by: Anusha Ragunathan <anusha@docker.com>
2016-10-07 12:00:57 -07:00
Jana Radhakrishnan
23d7708bd5 Merge pull request from mavenugo/pluginv2-sk2
Add support for NetworkAllocate and NetworkFree in remote driver
2016-10-07 20:49:45 +02:00
Madhu Venugopal
b48e25b44f Add support for NetworkAllocate and NetworkFree in remote driver
Also added an API to return list of builtin network drivers

Signed-off-by: Madhu Venugopal <madhu@docker.com>
2016-10-05 18:20:02 -07:00
Alessandro Boch
11b0e69fcd Merge pull request from mrjana/lb
Do not add names to ingress network
2016-10-05 10:50:24 -07:00
Jana Radhakrishnan
ffd13e32a8 Merge pull request from LK4D4/fix_nodes_race
networkdb: fix race in access to nodes len
2016-10-04 12:52:52 -07:00
Alexander Morozov
03088ace1b networkdb: fix race in access to nodes len
Signed-off-by: Alexander Morozov <lk4d4math@gmail.com>
2016-10-04 12:19:25 -07:00
Jana Radhakrishnan
c7b9435004 Do not add names to ingress network
Do not add service discovery names to ingress network as this is a
routing only network and no intra-cluster discovery should happen in
that network. This fixes the ambiguity and resolving names between
services which are both publishing ports and also attached to same
another network.

Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
2016-10-04 10:41:11 -07:00
Alessandro Boch
ef5f9395a6 Merge pull request from mrjana/bugs
Update golang version to 1.7.1
2016-10-04 10:38:14 -07:00
Jana Radhakrishnan
47759a5d4b WIP: Update golang version to 1.7.1
Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
2016-10-04 10:12:34 -07:00
Alessandro Boch
421f6e0bf6 Merge pull request from mrjana/networkdb
Do not hold ack channel in ack table after closing
2016-10-03 11:44:42 -07:00
Alessandro Boch
c609dfcfe7 Merge pull request from rony36/master
Fix macvlan private mode argument vaildation
2016-10-03 10:54:43 -07:00
Jana Radhakrishnan
cf2049e470 Merge pull request from aboch/ingr
Clear ingress resources on graceful shutdown
2016-10-03 10:44:12 -07:00
Jana Radhakrishnan
f649d5ae61 Do not hold ack channel in ack table after closing
Once the bulksync ack channel is closed remove it from the ack table
right away. There is no reason to keep it in the ack table and later
delete it in the ack waiter. Ack waiter anyways has reference to the
channel on which it is waiting.

Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
2016-10-03 09:50:02 -07:00
Alessandro Boch
ded6e1934a Clear ingress resources on graceful shutdown
Signed-off-by: Alessandro Boch <aboch@docker.com>
2016-09-29 15:01:44 -07:00
Madhu Venugopal
59832beb31 Merge pull request from runcom/proxy-path
bridge,portmapper: custom docker-proxy path
2016-09-29 14:43:40 -07:00
Madhu Venugopal
4396a733bc Merge pull request from anusha-ragunathan/plugins
Make libnetwork understand pluginv2.
2016-09-27 19:11:55 -07:00
Anusha Ragunathan
003e04775b Make libnetwork understand pluginv2.
As part of daemon init, network and ipam drivers are passed a
pluginstore object that implements the plugin/getter interface. Use this
interface methods in libnetwork to interact with network plugins. This
interface provides the new and improved pluginv2 functionality and falls
back to pluginv1 (legacy) if necessary.

Signed-off-by: Anusha Ragunathan <anusha@docker.com>
2016-09-27 15:29:10 -07:00
Anusha Ragunathan
952520472f Godep changes.
Signed-off-by: Anusha Ragunathan <anusha@docker.com>
2016-09-27 13:53:58 -07:00
Madhu Venugopal
6d06782301 Merge pull request from mrjana/agent
Avoid returning early on agent join failures
2016-09-27 09:04:08 -07:00
Jana Radhakrishnan
22c322dded Avoid returning early on agent join failures
When a gossip join failure happens do not return early in the call chain
because a join failure is most likely transient and the retry logic
built in the networkdb is going to retry and succeed. Returning early
makes the initialization of ingress network/sandbox to not happen which
causes a problem even after the gossip join on retry is successful.

Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
2016-09-27 08:36:10 -07:00
Antonio Murdaca
38338863dc bridge,portmapper: custom docker-proxy path
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-09-25 18:07:58 +02:00
Santhosh Manohar
f9e11527ec Merge pull request from mrjana/networkdb
Purge stale nodes with same prefix and IP
2016-09-23 15:58:43 -07:00
Jana Radhakrishnan
7b905d3c63 Purge stale nodes with same prefix and IP
Since the node name randomization fix, we need to make sure that we
purge the old node with the same prefix and same IP from the nodes
database if it still present. This causes unnecessary reconnect
attempts.

Also added a change to avoid unnecessary update of local lamport time
and only do it of we are ready to do a push pull on a join. Join should
happen only when the node is bootstrapped or when trying to reconnect
with a failed node.

Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
2016-09-23 14:48:54 -07:00
Jana Radhakrishnan
84862ee8fe Merge pull request from mavenugo/cl
Allow the memberlist shutdown even if networkdb leave fails
2016-09-23 08:35:00 -07:00
Madhu Venugopal
d1f6eb1812 Allow the memberlist shutdown even if networkdb leave fails
Signed-off-by: Madhu Venugopal <madhu@docker.com>
2016-09-23 05:19:07 -07:00
ronyweng
bd7fc6431b Fix macvlan private mode argument vaildation
Signed-off-by: Rony Weng <ronyweng@synology.com>
2016-09-23 18:57:42 +08:00
Santhosh Manohar
0c81548c8c Merge pull request from mrjana/overlay
Serialize overlay filter plumbing
2016-09-22 18:29:03 -07:00
Jana Radhakrishnan
d6e596b3a0 Serialize overlay filter plumbing
When plumbing overlay filter rules serialize this to make sure that
multiple sandbox join or leave is not causing erroneous behavior while
moving the RETURN rule in the predefined chains.

Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
2016-09-22 17:50:19 -07:00
Madhu Venugopal
cfe5b1467e Merge pull request from mrjana/networkdb
Honor user provided listen address for gossip
2016-09-22 16:53:37 -07:00
Alessandro Boch
1b237a7a0c Merge pull request from AkihiroSuda/fix-test-failures
Fix test failures
2016-09-22 13:19:06 -07:00
Madhu Venugopal
3873f01f64 Merge pull request from mrjana/lb
Use complete port configs when plumbing mark rules
2016-09-22 13:02:26 -07:00
Akihiro Suda
a4d0e53f14 Fix test failures
* TestwriteJSON and TestontainerInvalidLeave were never executed due to the typos. Recent govet found them.
 * TestWriteJSON was failing due to the comparison between string and []byte. Also, it didn't considered that json.Encode appends LF.
 * TestContainerInvalidLeave was faling due to a typo

Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2016-09-22 19:25:42 +00:00
Jana Radhakrishnan
b0a7084c05 Honor user provided listen address for gossip
If user provided a non-zero listen address, honor that and bind only to
that address. Right now it is not honored and we always bind to all ip
addresses in the host.

Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
2016-09-22 11:41:57 -07:00
Jana Radhakrishnan
3c9d05fba5 Delay port redirect until packet reaches container
With port redirect in the ingress path happening before ipvs in the
ingess sandbox, there is a chance of 5-tuple collision in the ipvs
connection table for two entirely different services have different
PublishedPorts but the same TargetPort. To disambiguate the ipvs
connection table, delay the port redirect from PublishedPort to
TargetPort until after the loadbalancing has happened in ipvs. To be
specific, perform the redirect after the packet enters the real backend
container namespace.

Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
2016-09-21 16:11:36 -07:00
Madhu Venugopal
baf258f835 Merge pull request from sanimej/panic
Check for ExecFunc failure
2016-09-21 15:03:32 -07:00
Santhosh Manohar
2b0d5b1339 Check for ExecFunc failure
Signed-off-by: Santhosh Manohar <santhosh@docker.com>
2016-09-21 13:53:08 -07:00
Jana Radhakrishnan
093a017f68 Use complete port configs when plumbing mark rules
Currently, a reference counting scheme is used to reference count all
individual port configs that need to be plumbed in the ingress to make
sure that in situations where a service with the same set of port
configs is getting added or removed doesn't accidentally remove the port
config plumbing if the add/remove notifications come out of order. This
same reference counting scheme is also used for plumbing the port-based
marking rules. But marking rules should not be plumbed based on that
because marks are always different for different instantiations of the
same service. So fixed the code to plumb port-based mark rules based on
the complete set of port configs, while plumbing pure port rules and
proxies based on a filter set of port configs based on the reference
count.

Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
2016-09-21 09:37:21 -07:00
Madhu Venugopal
7feaa49556 Merge pull request from aboch/pnc
Lock agent access in addDriverWatches
2016-09-20 17:49:47 -07:00
Madhu Venugopal
9fae5d1779 Merge pull request from msabansal/dnsv2
DNS support for Windows
2016-09-20 17:35:26 -07:00
Alessandro Boch
8653b72786 Lock agent access in addDriverWatches
Signed-off-by: Alessandro Boch <aboch@docker.com>
2016-09-20 14:18:49 -07:00
msabansal
ce65a4cf2a Vendoring dependencies
Signed-off-by: msabansal <sabansal@microsoft.com>
2016-09-20 13:02:10 -07:00