---
- 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_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: '{{ item }}'
      state: absent
    with_items:
    - /etc/tuned/active_profile
    - /etc/tuned/profile_mode

  - name: Restart tuned service
    systemd:
      state: restarted
      daemon_reload: yes
      name: tuned

  when: tuned_installed.rc == 0 | bool
