Commit graph

2241 commits

Author SHA1 Message Date
Madhu Venugopal
d65565610f Merge pull request #1781 from fcrisciani/vxlan-issue
Removed printfs
2017-06-05 19:24:41 -07:00
Madhu Venugopal
54d627c69d Merge pull request #1792 from sanimej/mac2
Remove dynamic mac entry from fdb on endpoint deletion
2017-06-05 16:30:08 -07:00
Santhosh Manohar
22814d5850 Merge pull request #1789 from fcrisciani/sysctl_gc_thresh
Set kernel specific config on linux
2017-06-02 21:56:07 -07:00
Flavio Crisciani
4abd54d419 Set kernel specific config on linux
On linux systems bump up gc_thresholds so to lower the
probability of running with neighbor table overflow issues

Signed-off-by: Flavio Crisciani <flavio.crisciani@docker.com>
2017-06-02 21:00:56 -07:00
Santhosh Manohar
e49955988a Remove dynamic mac entry from fdb on endpoint deletion
Signed-off-by: Santhosh Manohar <santhosh@docker.com>
2017-06-01 12:20:46 -07:00
Madhu Venugopal
59994bbb15 Merge pull request #1775 from sanimej/gossip
Handle single manager reload by having workers reconnect
2017-05-31 14:57:34 -07:00
Santhosh Manohar
ca9a768d80 Handle single manager reload by having workers reconnect
Signed-off-by: Santhosh Manohar <santhosh@docker.com>
2017-05-31 14:36:23 -07:00
Madhu Venugopal
7d9c6e89f8 Merge pull request #1785 from abhinandanpb/master
Removing the override for ipamdriver for local scope networks in
2017-05-30 21:27:39 -07:00
Abhinandan Prativadi
26fb58d3a8 Removing the override for ipamdriver for local scope networks
The commit contains fix for the issue reported in
https://github.com/moby/moby/issues/33415 and
https://github.com/docker/libnetwork/issues/1772. With the
feature introduced to support local scope networks in swarm
mode the network configuration to include ipam driver was overriden
in libnetwork. This has been removed with this fix which will allow
ipam-driver option to be used for task allocation

Signed-off-by: Abhinandan Prativadi <abhi@docker.com>
2017-05-30 16:01:15 -07:00
Madhu Venugopal
430367de2d Merge pull request #1779 from fcrisciani/revert-1777-move_provider
Revert "Move Cluster provider back to Moby"
2017-05-28 14:01:11 -07:00
Flavio Crisciani
ae9f1f9f04 Removed printfs
Changed some prints into proper logging, also
was missing the \n at the end

Signed-off-by: Flavio Crisciani <flavio.crisciani@docker.com>
2017-05-26 14:13:26 -07:00
Flavio Crisciani
34ce7c7e6a Revert "Move Cluster provider back to Moby"
Signed-off-by: Flavio Crisciani <flavio.crisciani@docker.com>
2017-05-25 10:47:02 -07:00
Madhu Venugopal
66c0b8b88b Merge pull request #1777 from fcrisciani/move_provider
Move Cluster provider back to Moby
2017-05-25 08:58:02 -07:00
Madhu Venugopal
47e9baa438 Merge pull request #1770 from dhilipkumars/ipvs-getServices-dev
[IPVS] Implement GetServices(),GetService() and GetDestinations()
2017-05-25 08:45:19 -07:00
dhilipkumars
79a76217db fix review comments
Signed-off-by: dhilipkumars <dhilip.kumar.s@huawei.com>
2017-05-25 10:40:42 +05:30
Flavio Crisciani
e777305c7f Moby vendoring
Signed-off-by: Flavio Crisciani <flavio.crisciani@docker.com>
2017-05-24 11:46:36 -07:00
Flavio Crisciani
627da8bf04 Moved the cluster provider to Moby
Moved the cluster provider interface definition from
libnetwork to moby

Signed-off-by: Flavio Crisciani <flavio.crisciani@docker.com>
2017-05-24 11:28:23 -07:00
dhilipkumars
9376cd3c63 Fix typos and review comments
Signed-off-by: dhilipkumars <dhilip.kumar.s@huawei.com>
2017-05-24 07:56:59 +05:30
dhilipkumars
81296dda15 Update GetService(*Service) api. Update UT with new apis and remove dependency from ipvsadm
Signed-off-by: dhilipkumars <dhilip.kumar.s@huawei.com>
2017-05-23 18:47:16 +05:30
Santhosh Manohar
eb0c1ea00c Merge pull request #1774 from fcrisciani/node-leave
Node failure timeout fix
2017-05-22 18:47:14 -07:00
Flavio Crisciani
f585f33042 Node failure timeout fix
The time to keep a node failed into the failed node list
was originally supposed to be 24h.

If a node leaves explicitly it will be removed from the list of nodes
and put into the leftNodes list. This way the NotifyLeave event won't
insert it into the retry list.
NOTE: if the event is lost instead the behavior will be the same as a failed node.

If a node fails, the NotifyLeave will insert it into the failedNodes
list with a reapTime of 24h. This means that the node will be checked
for 24h before being completely forgot. The current check time is every
1 second and is done by the reconnectNode function.
The failed node list is updated every 2h instead.

Signed-off-by: Flavio Crisciani <flavio.crisciani@docker.com>
2017-05-22 17:19:31 -07:00
dhilipkumars
000775b918 Initial Checkin GetServices and GetDestinations
Signed-off-by: dhilipkumars <dhilip.kumar.s@huawei.com>
2017-05-20 01:59:44 +05:30
Madhu Venugopal
1738f963ab Merge pull request #1766 from aboch/spl
Simplify network scope setting logic
2017-05-18 15:20:08 -07:00
Alessandro Boch
c7d77e9e89 Simplify network scope setting logic
- in driver(), no need to check for isAgent

Signed-off-by: Alessandro Boch <aboch@docker.com>
2017-05-18 15:16:48 -07:00
Madhu Venugopal
57c6fab2cc Merge pull request #1764 from aboch/isadyn
Restore isAgent || n.dynamic check
2017-05-18 13:12:29 -07:00
Madhu Venugopal
412df2d5c5 Merge pull request #1763 from aboch/sco
Reject scope settings in config-only network
2017-05-18 13:09:42 -07:00
Madhu Venugopal
a1ea100b9e Merge pull request #1762 from aboch/nlo2
Do not accept swarm scope network creation if swarm is off
2017-05-18 13:09:19 -07:00
Alessandro Boch
08d8cfa00f Restore isAgent || n.dynamic check
- This got mistakenly changed by 254d082cc3

Signed-off-by: Alessandro Boch <aboch@docker.com>
2017-05-18 13:05:34 -07:00
Alessandro Boch
bf98dc6a40 Reject scope settings in config-only network
Signed-off-by: Alessandro Boch <aboch@docker.com>
2017-05-18 09:17:24 -07:00
Alessandro Boch
3fdce29e1d Do not accept swarm scope network creation if swarm is off
Signed-off-by: Alessandro Boch <aboch@docker.com>
2017-05-18 08:59:52 -07:00
Santhosh Manohar
98447449de Merge pull request #1675 from wenjianhn/forward-top
Add a filter chain to allow persistent rules
2017-05-16 22:47:59 -07:00
Madhu Venugopal
0f989474e5 Merge pull request #1754 from sanimej/dsinfo
Add network inspect -v to the support script
2017-05-16 17:49:50 -07:00
Alessandro Boch
86abd1ea41 Merge pull request #1728 from msabansal/windowspersistence
Added persistence to windows driver so that cleanup happens properly
2017-05-16 14:27:50 -07:00
Sandeep Bansal
f566d6384e Added persistence to windows driver so that cleanup happens properly
Signed-off-by: Sandeep Bansal <sabansal@microsoft.com>
2017-05-16 14:06:43 -07:00
Jacob Wen
c348cebe99 Add a filter chain to allow persistent rules
Allow users to configure firewall policies in a way that persists
docker operations/restarts. Docker will not delete or modify any
pre-existing rules from the DOCKER-USER filter chain. This allows
the user to create in advance any rules required to further
restrict access from/to the containers.

Fixes docker/docker#29184
Fixes docker/docker#23987
Related to docker/docker#24848

Signed-off-by: Jacob Wen <jian.w.wen@oracle.com>
2017-05-16 10:24:56 +08:00
Madhu Venugopal
89b89862aa Merge pull request #1758 from aboch/nlo2
Do not reset network scope during store read
2017-05-15 12:50:51 -07:00
Alessandro Boch
f626582c16 Do not reset network scope during store read
- Unless it is needed

Signed-off-by: Alessandro Boch <aboch@docker.com>
2017-05-15 12:05:56 -07:00
Madhu Venugopal
57b1bb6069 Merge pull request #1753 from sanimej/bulksync
retry once on a bulk sync failure
2017-05-13 08:46:29 -07:00
Madhu Venugopal
f32eec401b Merge pull request #1742 from aboch/nlo2
ConnectivityScope capability and configuration networks
2017-05-13 06:21:00 -07:00
Alessandro Boch
ece544627b Adding manager pkg for swarm visible network drivers
- Orchestrator interaction with the network driver is limited
  to at most allocation/release of simple resources. For local scope
  drivers all what is needed is the retrieval of the driver scope.The
  full driver code base does not need to be pulled into the orschestrator.
  This PR introduces a dedicated package in each builtin nw
  driver for that purpose, as it was done for overlay driver.

Signed-off-by: Alessandro Boch <aboch@docker.com>
2017-05-12 17:16:54 -07:00
Alessandro Boch
254d082cc3 Add ConnectivityScope capability for network drivers along with scope network option
- It specifies whether the network driver can
  provide containers connectivity across hosts.
- As of now, the data scope of the driver was
  being overloaded with this notion.
- The driver scope information is still valid
  and it defines whether the data allocation
  of the network resources can be done globally
  or only locally.
- With the scope network option, user can now
  force a network as swarm scoped
  regardless of the driver data scope.
- In case the network is configured as swarm scoped,
  and the network driver is multihost capable,
  a network DB instance will be launched for it.

Signed-off-by: Alessandro Boch <aboch@docker.com>
2017-05-12 17:16:34 -07:00
Santhosh Manohar
06c3489bb8 retry once on a bulk sync failure
Signed-off-by: Santhosh Manohar <santhosh@docker.com>
2017-05-11 21:13:18 -07:00
Santhosh Manohar
5e8c5d68fb Add network inspect -v to the support script
Signed-off-by: Santhosh Manohar <santhosh@docker.com>
2017-05-11 15:04:28 -07:00
Alessandro Boch
25082206df Support configuration networks
- They are configuration-only networks which
  can be used to supply the configuration
  when creating regular networks.
- They do not get allocated and do net get plumbed.
  Drivers do not get to know about them.
- They can be removed, once no other network is
  using them.
- When user creates a network specifying a
  configuration network for the config, no
  other network specific configuration field
  is are accepted. User can only specify
  network operator fields (attachable, internal,...)
- They do not need to have a driver field, that
  field gets actually reset upon creation.

Signed-off-by: Alessandro Boch <aboch@docker.com>
2017-05-11 11:37:18 -07:00
Madhu Venugopal
e969e6ef61 Merge pull request #1735 from fcrisciani/init_race_cond
Fix for swarm init/leave race condition
2017-05-09 18:19:31 -07:00
Santhosh Manohar
f23959bf90 Merge pull request #1747 from fcrisciani/memberlist_version
Remove explicit set of memberlist protocol
2017-05-08 17:30:30 -07:00
Flavio Crisciani
da9ac65ea6 Remove explicit set of memberlist protocol
Memberlist does a full validation of the protocol version (min, current, max)
amoung all the ndoes of the cluster.
The previous code was setting the protocol version to max version.
That made the upgrade incompatible.

Signed-off-by: Flavio Crisciani <flavio.crisciani@docker.com>
2017-05-08 16:58:53 -07:00
Flavio Crisciani
a2bf0b35d6 Fix for swarm/libnetwork init race condition
This change cleans up the SetClusterProvider method.
Swarm calls the SetClusterProvider to pass to libnetwork the pointer
of the provider from which libnetwork can fetch all the information to
initialize the internal agent.

The method can be and is called multiple times passing the same value,
with the previous logic that was erroneusly spawning multiple go routines that
were making possiblea race between an agentInit and an agentClose.

The new logic aims to disallow it by checking for the provider passed and
ensuring that if the provider is already present there is nothing to do because
there is already an active go routine that is ready to process cluster events.
Moreover a patch on moby side takes care of clearing up the Cluster Events
dispacthing using only 1 channel to handle all the events types.
This will also guarantee in order event handling because now all the events are
piped into one single channel.

Signed-off-by: Flavio Crisciani <flavio.crisciani@docker.com>
2017-05-04 15:35:28 -07:00
Alessandro Boch
8c113c7fe4 Merge pull request #1733 from fcrisciani/memberlist_bump
Updating memberlist to v0.1.0
2017-04-28 10:13:43 -07:00
Alessandro Boch
54689f9867 Merge pull request #1739 from fcrisciani/remote_addr
Fix for remote addr parsing
2017-04-28 09:14:19 -07:00