summaryrefslogtreecommitdiffstats
path: root/roles/tuned/tasks
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/tasks
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/tasks')
-rw-r--r--roles/tuned/tasks/main.yml39
1 files changed, 39 insertions, 0 deletions
diff --git a/roles/tuned/tasks/main.yml b/roles/tuned/tasks/main.yml
new file mode 100644
index 000000000..e95d274d5
--- /dev/null
+++ b/roles/tuned/tasks/main.yml
@@ -0,0 +1,39 @@
+---
+- name: Check for tuned package
+ command: rpm -q tuned
+ args:
+ warn: no
+ register: tuned_installed
+ changed_when: false
+ failed_when: false
+
+- name: Tuned service setup
+ block:
+ - name: Set tuned OpenShift variables
+ set_fact:
+ openshift_tuned_guest_profile: "{{ 'atomic-guest' if openshift.common.is_atomic else 'virtual-guest' }}"
+
+ - name: Ensure directory structure exists
+ file:
+ state: directory
+ dest: '{{ tuned_etc_directory }}/{{ item.path }}'
+ with_filetree: '{{ tuned_templates_source }}'
+ when: item.state == 'directory'
+
+ - name: Ensure files are populated from templates
+ template:
+ src: '{{ item.src }}'
+ dest: '{{ tuned_etc_directory }}/{{ item.path }}'
+ with_filetree: '{{ tuned_templates_source }}'
+ when: item.state == 'file'
+
+ - name: Make tuned use the recommended tuned profile on restart
+ file: path=/etc/tuned/active_profile state=absent
+
+ - name: Restart tuned service
+ systemd:
+ state: restarted
+ daemon_reload: yes
+ name: tuned
+
+ when: tuned_installed.rc == 0 | bool