Merge "Optimize kernel neighbour table for large scale environments" into stable/newton

This commit is contained in:
Zuul 2018-03-17 05:54:37 +00:00 committed by Gerrit Code Review
commit b2161d7fe8
1 changed files with 29 additions and 0 deletions

View File

@ -26,6 +26,28 @@ parameters:
default: 1024
description: Configures sysctl fs.inotify.max_user_instances key
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
ExtraKernelModules:
default: {}
description: Hash of extra Kernel modules to load.
@ -76,6 +98,13 @@ outputs:
# set inotify value for neutron/dnsmasq scale
fs.inotify.max_user_instances:
value: {get_param: InotifyIntancesMax}
#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}
- {get_param: ExtraSysctlSettings}
step_config: |