--- - name: test if grub configured for noop i/o scheduler command: egrep -q 'elevator=noop' /boot/grub2/grub.cfg register: grub changed_when: no failed_when: grub_test.rc == 2 - name: configure grub for noop i/o scheduler sudo: yes command: grubby --update-kernel=ALL --args=elevator=noop when: grub_test.rc == 1 - name: get list of block devices to test shell: ls /sys/block/ | egrep '^([shv]|xv])d[a-z]$' register: block_devs changed_when: no - name: test if block device using noop i/o scheduler shell: cat /sys/block/{{ item }}/queue/scheduler | egrep -q '\[noop\]' with_items: block_devs.stdout register: noop_test changed_when: noop_test.rc == 1 failed_when: noop_test.rc == 2 - name: set block device to use noop i/o scheduler sudo: yes shell: echo noop > /sys/block/{{ item }}/queue/scheduler with_items: block_devs.stdout when: noop_test.changed