summaryrefslogtreecommitdiffstats
path: root/roles/tuned/templates
diff options
context:
space:
mode:
authorJiri Mencak <jmencak@redhat.com>2017-10-03 19:57:01 +0200
committerJiri Mencak <jmencak@redhat.com>2017-10-10 13:47:35 +0200
commit17e38ad8c62ac8f1c8f983e63181f69879a45d85 (patch)
treea3038e8f2fe7d8d0ea7f20b77a7ea7c3841ea14e /roles/tuned/templates
parent2fb41eea9aa4b328d7da1c5e4b7de2e717549ed7 (diff)
downloadopenshift-17e38ad8c62ac8f1c8f983e63181f69879a45d85.tar.gz
openshift-17e38ad8c62ac8f1c8f983e63181f69879a45d85.tar.bz2
openshift-17e38ad8c62ac8f1c8f983e63181f69879a45d85.tar.xz
openshift-17e38ad8c62ac8f1c8f983e63181f69879a45d85.zip
Separate tuned daemon setup into a role.
Currently, profiles for the tuned daemon are set only for OpenShift node(s). This excludes the OpenShift loadbalancer. As a result, ARP cache limits on loadbalancers are not raised. This causes problems with HA setups where loadbalancers serve 1k+ OpenShift nodes. This commit ensures the openshift-control-plane role is applied to loadbalancers, masters and OpenShift infra nodes. Regular OpenShift worker nodes get the openshift-node profile. Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1498213
Diffstat (limited to 'roles/tuned/templates')
-rw-r--r--roles/tuned/templates/openshift-control-plane/tuned.conf25
-rw-r--r--roles/tuned/templates/openshift-node/tuned.conf10
-rw-r--r--roles/tuned/templates/openshift/tuned.conf24
-rw-r--r--roles/tuned/templates/recommend.conf11
4 files changed, 70 insertions, 0 deletions
diff --git a/roles/tuned/templates/openshift-control-plane/tuned.conf b/roles/tuned/templates/openshift-control-plane/tuned.conf
new file mode 100644
index 000000000..f22f21065
--- /dev/null
+++ b/roles/tuned/templates/openshift-control-plane/tuned.conf
@@ -0,0 +1,25 @@
+#
+# tuned configuration
+#
+
+[main]
+summary=Optimize systems running OpenShift control plane
+include=openshift
+
+[sysctl]
+# ktune sysctl settings, maximizing i/o throughput
+#
+# Minimal preemption granularity for CPU-bound tasks:
+# (default: 1 msec# (1 + ilog(ncpus)), units: nanoseconds)
+kernel.sched_min_granularity_ns=10000000
+
+# The total time the scheduler will consider a migrated process
+# "cache hot" and thus less likely to be re-migrated
+# (system default is 500000, i.e. 0.5 ms)
+kernel.sched_migration_cost_ns=5000000
+
+# SCHED_OTHER wake-up granularity.
+#
+# Preemption granularity when tasks wake up. Lower the value to improve
+# wake-up latency and throughput for latency critical tasks.
+kernel.sched_wakeup_granularity_ns = 4000000
diff --git a/roles/tuned/templates/openshift-node/tuned.conf b/roles/tuned/templates/openshift-node/tuned.conf
new file mode 100644
index 000000000..78c7d19c9
--- /dev/null
+++ b/roles/tuned/templates/openshift-node/tuned.conf
@@ -0,0 +1,10 @@
+#
+# tuned configuration
+#
+
+[main]
+summary=Optimize systems running OpenShift nodes
+include=openshift
+
+[sysctl]
+net.ipv4.tcp_fastopen=3
diff --git a/roles/tuned/templates/openshift/tuned.conf b/roles/tuned/templates/openshift/tuned.conf
new file mode 100644
index 000000000..68ac5dadb
--- /dev/null
+++ b/roles/tuned/templates/openshift/tuned.conf
@@ -0,0 +1,24 @@
+#
+# tuned configuration
+#
+
+[main]
+summary=Optimize systems running OpenShift (parent profile)
+include=${f:virt_check:{{ openshift_tuned_guest_profile }}:throughput-performance}
+
+[selinux]
+avc_cache_threshold=65536
+
+[net]
+nf_conntrack_hashsize=131072
+
+[sysctl]
+kernel.pid_max=131072
+net.netfilter.nf_conntrack_max=1048576
+fs.inotify.max_user_watches=65536
+net.ipv4.neigh.default.gc_thresh1=8192
+net.ipv4.neigh.default.gc_thresh2=32768
+net.ipv4.neigh.default.gc_thresh3=65536
+net.ipv6.neigh.default.gc_thresh1=8192
+net.ipv6.neigh.default.gc_thresh2=32768
+net.ipv6.neigh.default.gc_thresh3=65536
diff --git a/roles/tuned/templates/recommend.conf b/roles/tuned/templates/recommend.conf
new file mode 100644
index 000000000..086e5673d
--- /dev/null
+++ b/roles/tuned/templates/recommend.conf
@@ -0,0 +1,11 @@
+[openshift-control-plane,master]
+/etc/origin/master/master-config.yaml=.*
+
+[openshift-control-plane,node]
+/etc/origin/node/node-config.yaml=.*region=infra
+
+[openshift-control-plane,lb]
+/etc/haproxy/haproxy.cfg=.*
+
+[openshift-node]
+/etc/origin/node/node-config.yaml=.*