summaryrefslogtreecommitdiffstats
path: root/puppet
diff options
context:
space:
mode:
authorOr Idgar <oidgar@redhat.com>2017-05-11 08:32:17 +0000
committerOr Idgar <oidgar@redhat.com>2017-05-16 07:59:27 +0000
commit1651a1805a16212299fe0a91aebb2a91ed39bc6e (patch)
tree411b04d7998588eafb0f37d8c817393464224b41 /puppet
parent6c43d5b4ffc33b83f7f3bc2098b8a49b4c5c2364 (diff)
Optimize kernel neighbour table for large scale environments
Changing the default values of neighbor table (also known as ARP table) in the kernel to avoid neighbour table overflow and thus fix communication errors between overcloud nodes. default kernel values support L2 network up to 1024 hosts (/22). The patch will allow up to 4096 hosts (/20). Change-Id: I5fabc766dd75a38cd3d835deee7e168f04dd30ce Closes-Bug: #1690087
Diffstat (limited to 'puppet')
-rw-r--r--puppet/services/kernel.yaml29
1 files changed, 29 insertions, 0 deletions
diff --git a/puppet/services/kernel.yaml b/puppet/services/kernel.yaml
index 2a335b67..5cbd1de4 100644
--- a/puppet/services/kernel.yaml
+++ b/puppet/services/kernel.yaml
@@ -26,6 +26,28 @@ parameters:
default: 0
description: Configures sysctl net.ipv6.{default/all}.disable_ipv6 keys
type: number
+ NeighbourGcThreshold1:
+ default: 1024
+ description: Configures sysctl net.ipv4.neigh.default.gc_thresh1 value.
+ This is the minimum number of entries to keep in the ARP
+ cache. The garbage collector will not run if there are
+ fewer than this number of entries in the cache.
+ type: number
+ NeighbourGcThreshold2:
+ default: 2048
+ description: Configures sysctl net.ipv4.neigh.default.gc_thresh2 value.
+ This is the soft maximum number of entries to keep in the
+ ARP cache. The garbage collector will allow the number of
+ entries to exceed this for 5 seconds before collection will
+ be performed.
+ type: number
+ NeighbourGcThreshold3:
+ default: 4096
+ description: Configures sysctl net.ipv4.neigh.default.gc_thresh3 value.
+ This is the hard maximum number of entries to keep in the
+ ARP cache. The garbage collector will always run if there
+ are more than this number of entries in the cache.
+ type: number
outputs:
role_data:
@@ -86,5 +108,12 @@ outputs:
value: 1
fs.suid_dumpable:
value: 0
+ #avoid neighbour table overflow on large deployments
+ net.ipv4.neigh.default.gc_thresh1:
+ value: {get_param: NeighbourGcThreshold1}
+ net.ipv4.neigh.default.gc_thresh2:
+ value: {get_param: NeighbourGcThreshold2}
+ net.ipv4.neigh.default.gc_thresh3:
+ value: {get_param: NeighbourGcThreshold3}
step_config: |
include ::tripleo::profile::base::kernel