Commit Graph

2024 Commits

Author SHA1 Message Date
u2takey
5eb96dfbba fix markdown style in doc
Signed-off-by: u2takey <u2takey@gmail.com>
2018-05-02 17:46:24 +08:00
Chris Telfer
3df00a6c64 Add wait time into xtables lock warning
Signed-off-by: Chris Telfer <ctelfer@docker.com>
2018-04-26 14:21:36 -04:00
Flavio Crisciani
8a554b8cee Merge pull request #2141 from fcrisciani/requestpool-test
Add test for parallel request pool
2018-04-25 16:34:58 -07:00
Flavio Crisciani
606e28015a Add test for parallel request pool
Signed-off-by: Flavio Crisciani <flavio.crisciani@docker.com>
2018-04-25 16:09:27 -07:00
Flavio Crisciani
0513f1f098 Merge pull request #2135 from ctelfer/xtables-filter
filter xtables lock warnings when firewalld is active
2018-04-25 15:19:41 -07:00
Chris Telfer
16e077b884 Filter xtable wait messages when using firewalld
This gets filtered for raw iptables calls, but not from calls made
through firewalld.   The patch just ensures consistency of operation.
It also adds a warning when xtables contention detected and truncates
the search string slightly as it appears that the suffix will be
changing in the near future.

Signed-off-by: Chris Telfer <ctelfer@docker.com>
2018-04-25 16:26:08 -04:00
Kir Kolyshkin
0f6cb61f2d Switch from x/net/context -> context
Since Go 1.7, context is a standard package. Since about Go 1.9 time,
all x/net/context provides is a few aliases to types in context, meaning
"x/net/context" and "context" can be mixed freely.

Some vendored packages still use x/net/context, so vendor entry remains
for now.

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2018-04-24 14:57:04 -07:00
Kir Kolyshkin
a6ec9e673b Bump golang.org/x/net
This version includes "x/net/context" which is fully compatible with
the standard Go "context" package, so the two can be mixed together.

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2018-04-24 14:40:29 -07:00
Flavio Crisciani
65e8971ffd Merge pull request #2134 from dani-docker/esc-532
Adding a recovery mechanism for a split gossip cluster
2018-04-23 13:14:27 -07:00
Dani Louca
96472cdaea Adding a recovery mechanism for a split gossip cluster
Signed-off-by: Dani Louca <dani.louca@docker.com>
2018-04-23 14:18:46 -04:00
Brian Goff
bc465326fe networkdb: Use write lock in handleNodeEvent
`handleNodeEvent` is calling `changeNodeState` which writes to various
maps on the ndb object.
Using a write lock prevents a panic on concurrent read/write access on
these maps.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2018-04-11 21:28:29 -04:00
Flavio Crisciani
e8802d9117 Merge pull request #2124 from quadespresso/esc-502
Allow for larger preset property values, do not override
2018-04-11 14:14:54 -07:00
Jim Carroll
bab08251c0 Allow for larger preset property values, do not override
Signed-off-by: Jim Carroll <jim.carroll@docker.com>
2018-04-11 13:09:02 -05:00
Flavio Crisciani
f5aa502856 Merge pull request #2117 from AkihiroSuda/iso-carry
[Carry 1534] Improve scalabiltiy of bridge network isolation rules
2018-04-02 10:08:20 -07:00
Akihiro Suda
67ecbba4ff bridge: fix lint issue
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2018-04-02 15:52:03 +09:00
Kyle Squizzato
6b782b4b82 Modify awk to use cut in check_ip_overlap
This patch replaces awk with cut to workaround issues present with
running this script within ucp-dsinfo.

Signed-off-by: Kyle Squizzato <kyle.squizzato@docker.com>
2018-03-27 14:39:40 -07:00
Abhinandan
c67ee787da Adding goreport card
Signed-off-by: Abhinandan <abhi@docker.com>
2018-03-26 13:34:15 -07:00
Flavio Crisciani
2603841837 Merge pull request #2125 from fcrisciani/fix-readme
Fix README flag and expose orphan network peers
2018-03-23 13:52:58 -07:00
Deep Debroy
20faf0adf0 Retry other external DNS servers on ServFail
Signed-off-by: Deep Debroy <ddebroy@docker.com>
2018-03-23 10:22:04 -07:00
Flavio Crisciani
9b7922ff6e Fix README flag and expose orphan network peers
- Readme example was using wrong flag
- Network peers were not exposed properly

Signed-off-by: Flavio Crisciani <flavio.crisciani@docker.com>
2018-03-23 10:19:02 -07:00
Akihiro Suda
4ce05845db bridge: fix handling errors during setupIPChains()
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2018-03-22 17:31:30 +09:00
Flavio Crisciani
e21dab839d Merge pull request #2112 from ctelfer/graceful-lbrm
Gracefully remove LB endpoints from services
2018-03-19 10:59:19 -07:00
Alessandro Boch
ed6d70c0c1 Improve scalabiltiy of bridge network isolation rules
- This reduces complexity from O(N^2) to O(2N)

Signed-off-by: Alessandro Boch <aboch@docker.com>
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2018-03-19 15:48:49 +09:00
Chris Telfer
7d7412f957 Gracefully remove LB endpoints from services
This patch attempts to allow endpoints to complete servicing connections
while being removed from a service.  The change adds a flag to the
endpoint.deleteServiceInfoFromCluster() method to indicate whether this
removal should fully remove connectivity through the load balancer
to the endpoint or should just disable directing further connections to
the endpoint.  If the flag is 'false', then the load balancer assigns
a weight of 0 to the endpoint but does not remove it as a linux load
balancing destination.  It does remove the endpoint as a docker load
balancing endpoint but tracks it in a special map of "disabled-but-not-
destroyed" load balancing endpoints.  This allows traffic to continue
flowing, at least under Linux.  If the flag is 'true', then the code
removes the endpoint entirely as a load balancing destination.

The sandbox.DisableService() method invokes deleteServiceInfoFromCluster()
with the flag sent to 'false', while the endpoint.sbLeave() method invokes
it with the flag set to 'true' to complete the removal on endpoint
finalization.  Renaming the endpoint invokes deleteServiceInfoFromCluster()
with the flag set to 'true' because renaming attempts to completely
remove and then re-add each endpoint service entry.

The controller.rmServiceBinding() method, which carries out the operation,
similarly gets a new flag for whether to fully remove the endpoint.  If
the flag is false, it does the job of moving the endpoint from the
load balancing set to the 'disabled' set.  It then removes or
de-weights the entry in the OS load balancing table via
network.rmLBBackend().  It removes the service entirely via said method
ONLY IF there are no more live or disabled load balancing endpoints.
Similarly network.addLBBackend() requires slight tweaking to properly
manage the disabled set.

Finally, this change requires propagating the status of disabled
service endpoints via the networkDB.  Accordingly, the patch includes
both code to generate and handle service update messages.  It also
augments the service structure with a ServiceDisabled boolean to convey
whether an endpoint should ultimately be removed or just disabled.
This, naturally, required a rebuild of the protocol buffer code as well.

Signed-off-by: Chris Telfer <ctelfer@docker.com>
2018-03-16 15:19:49 -04:00
Flavio Crisciani
aa612217b5 Merge pull request #2098 from johnstep/cleanup-hns-endpoints
Delete stale HNS endpoints when creating a network
2018-03-14 15:01:21 -07:00
Sebastiaan van Stijn
a360943a48 Fix golang.org/x/sync canonical import path
The golang.org/x/sync package was vendored using the
github.com/golang/sync URL, but this is not the canonical
URL.

Because of this, vendoring failed in Moby, as it detects
these to be a duplicate import:

    vndr github.com/golang/sync
    2018/03/14 11:54:37 Collecting initial packages
    2018/03/14 11:55:00 Download dependencies
    2018/03/14 11:55:00 Failed to parse config: invalid config format: // FIXME this should be golang.org/x/sync, which is already vendored above

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2018-03-14 13:11:08 +01:00
Flavio Crisciani
4c8d751400 IPAM tests
Added tests for swarm mode and also some new parallel tests

Signed-off-by: Flavio Crisciani <flavio.crisciani@docker.com>
2018-03-09 11:07:36 -08:00
Flavio Crisciani
b8c14de74a Vendor golang/sync
Signed-off-by: Flavio Crisciani <flavio.crisciani@docker.com>
2018-03-09 11:07:28 -08:00
Flavio Crisciani
0890a1a95d Merge pull request #2105 from abhi/bitseq
Fix for Duplicate IP issues
2018-03-09 11:03:54 -08:00
Abhinandan Prativadi
a0085a47fd IPAM and Bitseq test cases
This commit contains test cases to verify the changes and to
solidify the library.

Signed-off-by: Abhinandan Prativadi <abhi@docker.com>
2018-03-09 09:24:10 -08:00
Abhinandan Prativadi
fe629b6eba Fixing concurrent map access
This commit fixes panic due to concurrent map access

Signed-off-by: Abhinandan Prativadi <abhi@docker.com>
2018-03-08 11:19:45 -08:00
Abhinandan Prativadi
6a8a15dd9d Fixing Duplicate IP issue in IPAM library
This commit contains fixes for duplicate IP with 3 issues addressed:
1) Race condition when datastore is not present in cases like swarmkit
2) Byte Offset calculation depending on where the start of the bit
   in the bitsequence is, the offset was adding more bytes to the offset
   when the start of the bit is in the middle of one of the instances in
   a block
3) Finding the available bit was returning the last bit in the curent instance in
   a block if the block is not full and the current bit is after the last
   available bit.

Signed-off-by: Abhinandan Prativadi <abhi@docker.com>
2018-03-08 11:19:37 -08:00
Flavio Crisciani
6b9324ec3e Merge pull request #2101 from ctelfer/ingress-fix
Prevent ingress deletion when endpoint count == 1
2018-03-08 11:11:08 -08:00
Flavio Crisciani
9786ebb46d Merge pull request #2099 from fcrisciani/dup-ip-support
Add check for IP overlap in support.sh
2018-03-07 14:13:37 -08:00
Flavio Crisciani
794025df9f Merge pull request #2085 from luzhipeng-zte/linkdel
Add warning message for the failure of deleting link device
2018-03-06 09:53:42 -08:00
ZhiPeng Lu
9ba57c93b8 Add warning message for the failure of deleting link device
Signed-off-by: ZhiPeng Lu <lu.zhipeng@zte.com.cn>
2018-03-06 16:37:45 +08:00
Flavio Crisciani
cf89f97a14 Add check for IP overlap in support.sh
Add a simple check and a summary report for the support script.

Report:
==SUMMARY==
         Processed 3 networks
         IP overlap found: 1
         Processed 167 containers

Overlap found:
*** OVERLAP on Network 0ewr5iqraa8zv9l4qskp93wxo ***
      2  "192.168.1.138",

Signed-off-by: Flavio Crisciani <flavio.crisciani@docker.com>
2018-03-05 10:14:53 -08:00
John Stephens
c8a3950d8b Delete stale HNS endpoints when creating a network
Signed-off-by: John Stephens <johnstep@docker.com>
2018-03-05 00:12:00 -08:00
Chris Telfer
d84f182717 Prevent ingress deletion when endpoint count == 1
We should not delete an ingress network just because its endpoint count
drops to 1 (the IP address of the sandbox).  This addresses a regression
where the ingress sandbox could be deleted on workers when the last
container leave said sandbox.

Signed-off-by: Chris Telfer <ctelfer@docker.com>
2018-03-02 14:58:51 -05:00
Flavio Crisciani
1f55734d4c Fix crash if the len was < maxSetStringLen
If the len was less than the max length, there was a panic

Signed-off-by: Flavio Crisciani <flavio.crisciani@docker.com>
2018-03-01 09:24:36 -08:00
ZhiPeng Lu
83d1ce9fb5 fix for #1333, calling LinkDel to delete link device when the err of LinkByName is NULL
Signed-off-by: ZhiPeng Lu <lu.zhipeng@zte.com.cn>
2018-02-28 16:57:39 +08:00
Flavio Crisciani
85791fb3fd Limit max length transient log
Set a limit to the max size of the transient log to avoid
filling up logs in case of issues

Signed-off-by: Flavio Crisciani <flavio.crisciani@docker.com>
2018-02-26 08:54:22 -08:00
Flavio Crisciani
d1e6cfa6a1 Add an explicit flag to join network in diagnostic
Usually a diagnostic session wants to check the local state
without this flag the network is joined and left every iteration
altering actually the daemon status.
Also if the diagnostic client is used against a live node, the
network leave has a very bad side effect of kicking the node
out of the network killing its internal status.
For the above reason introducing the flag -a to be explicit
so that the current state is always preserved

Signed-off-by: Flavio Crisciani <flavio.crisciani@docker.com>
2018-02-23 13:20:38 -08:00
Flavio Crisciani
f8a7f2e7be Merge pull request #2058 from selansen/master
Allow user to specify default address pools for docker networks
2018-02-22 17:59:20 -08:00
selansen
4484ea17c3 Allow user to specify default address pools for docker networks
This is new feature that allows  user to specify which subnetwork
 Docker contrainer should choose from when it creates bridge network.

 This libnetwork commit is to address moby PR 36054
Signed-off-by: selansen <elango.siva@docker.com>
2018-02-22 12:14:59 -05:00
Flavio Crisciani
9381f27388 Merge pull request #2075 from dani-docker/orca-6793
Make SSD portable and useable outside the default image & error check when network on a particular node has no services.
2018-02-21 15:39:19 -08:00
Flavio Crisciani
73cc26c278 Merge pull request #2039 from adamancini/improved_support_script
Improved support script
2018-02-20 19:46:16 -08:00
ada mancini
d5aab13c38 Various support script improvements
Previously, support script dumped the host iptables filter/nat tables,
and each overlay network's network inspect and 'bridge fdb show' and
'brctl showmacs'.  Now we collect much more information.  Support script
dumps iptables filter/nat/mangle, routes and interfaces from iproute2,
bridge fdb table, & ipvsadm table, for the host and containers/overlay
networks on the host.  We also dump a redacted copy of the container
health check status and other debugging information for each container,
in JSON format, and 'docker network inspect -v' for each overlay, if the
client/server support the -v flag.

Signed-off-by: ada mancini <ada@docker.com>
2018-02-20 18:26:33 -05:00
Sebastiaan van Stijn
ba5b3ee8d9 Bump BurntSushi/toml for MIT License
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2018-02-16 13:17:40 +01:00
Sebastiaan van Stijn
71c0bc0b89 Revendor dependencies
re-vendor using vndr a6e196d8b4b0cbbdc29aebdb20c59ac6926bb384

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2018-02-16 13:17:02 +01:00