increase number of open files for collectd 59/45059/1
authorRoss Brattain <ross.b.brattain@intel.com>
Wed, 11 Oct 2017 08:40:56 +0000 (01:40 -0700)
committerRoss Brattain <ross.b.brattain@intel.com>
Fri, 13 Oct 2017 20:59:37 +0000 (13:59 -0700)
for collectd KPIs we need may need to open 10,000+ files

one file for each core * number of CPU counters we read.

Use the ansible pam_limits moules to increase the nofile
setting.  This should allow the VNF to boot with increased
number of files open

Change-Id: I46b75d5ca59e8e359c985a1e37daaee89897884c
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
ansible/install_collectd.yml
ansible/roles/increase_open_file_limits/defaults/main.yml [new file with mode: 0644]
ansible/roles/increase_open_file_limits/tasks/main.yml [new file with mode: 0644]
ansible/ubuntu_server_baremetal_deploy_samplevnfs.yml
ansible/ubuntu_server_cloudimg_modify_samplevnfs.yml

index 0824c15..7b82915 100644 (file)
@@ -17,6 +17,8 @@
     clone_dir: /tmp/yardstick-clone
 
   roles:
+    # needed for collectd plugins
+    - increase_open_file_limits
     # build shared DPDK for collectd only, required DPDK downloaded already
     - role: download_dpdk
     - install_dpdk_shared
@@ -27,4 +29,3 @@
     - install_pmu_tools
     - download_collectd
     - install_collectd
-
diff --git a/ansible/roles/increase_open_file_limits/defaults/main.yml b/ansible/roles/increase_open_file_limits/defaults/main.yml
new file mode 100644 (file)
index 0000000..02cb124
--- /dev/null
@@ -0,0 +1,15 @@
+# Copyright (c) 2017 Intel Corporation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+---
+open_file_limit: 500000
diff --git a/ansible/roles/increase_open_file_limits/tasks/main.yml b/ansible/roles/increase_open_file_limits/tasks/main.yml
new file mode 100644 (file)
index 0000000..4ef5e6f
--- /dev/null
@@ -0,0 +1,20 @@
+# Copyright (c) 2017 Intel Corporation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+---
+  - name: increase open file limits for control
+    pam_limits: "domain={{ item[0] }} limit_type={{ item[1] }} limit_item=nofile value={{ open_file_limit }}"
+    with_nested:
+      - [ '*', 'root' ]
+      - [ 'soft', 'hard' ]
+
index 891ccd1..42a7b2d 100644 (file)
@@ -23,6 +23,8 @@
       when: proxy_env is defined and proxy_env
 #     can't update grub in chroot/docker
     - enable_hugepages_on_boot
+    # needed for collectd plugins
+    - increase_open_file_limits
     - install_image_dependencies
     - role: download_dpdk
 #      dpdk_version: "17.02"
index 79249dd..dff7f97 100644 (file)
@@ -31,6 +31,8 @@
       when: proxy_env is defined and proxy_env
 #     can't update grub in chroot/docker
     - enable_hugepages_on_boot
+    # needed for collectd plugins
+    - increase_open_file_limits
     - modify_cloud_config
     - install_image_dependencies
     - role: download_dpdk