Change flat network name for nosdn fdio scenario
[apex-tripleo-heat-templates.git] / puppet / services / kernel.yaml
index 2a335b6..1c2da40 100644 (file)
@@ -1,9 +1,13 @@
-heat_template_version: ocata
+heat_template_version: pike
 
 description: >
   Load kernel modules with kmod and configure kernel options with sysctl.
 
 parameters:
+  ServiceData:
+    default: {}
+    description: Dictionary packing service data
+    type: json
   ServiceNetMap:
     default: {}
     description: Mapping of service_name -> network name. Typically set
@@ -13,6 +17,14 @@ parameters:
   DefaultPasswords:
     default: {}
     type: json
+  RoleName:
+    default: ''
+    description: Role name on which the service is applied
+    type: string
+  RoleParameters:
+    default: {}
+    description: Parameters specific to the role
+    type: json
   EndpointMap:
     default: {}
     description: Mapping of service endpoint -> protocol. Typically set
@@ -26,6 +38,33 @@ 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
+  InotifyIntancesMax:
+    default: 1024
+    description: Configures sysctl fs.inotify.max_user_instances key
+    type: number
+
 
 outputs:
   role_data:
@@ -47,6 +86,8 @@ outputs:
             value: 0
           net.ipv4.conf.all.send_redirects:
             value: 0
+          net.ipv4.conf.all.arp_accept:
+            value: 1
           net.ipv4.conf.default.accept_redirects:
             value: 0
           net.ipv4.conf.default.secure_redirects:
@@ -86,5 +127,16 @@ 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}
+          # set inotify value for neutron/dnsmasq scale
+          fs.inotify.max_user_instances:
+            value: {get_param: InotifyIntancesMax}
+
       step_config: |
         include ::tripleo::profile::base::kernel