From c09f7e7822cb0ebedf4f4dcb8807896c79c3886e Mon Sep 17 00:00:00 2001 From: Stepan Andrushko Date: Wed, 12 Dec 2018 16:40:27 +0200 Subject: Don't add IOMMU to grub when it is not bare metal Fix needed when running 'enable_iommu_on_boot' ansible role inside the VM where 'ansible_system_vendor' is neither 'AuthenticAMD' nor 'Intel Corporation'. JIRA: YARDSTICK-1469 Change-Id: I37e399fd892d1ec41239632948758284ccbe98ac Signed-off-by: Stepan Andrushko --- ansible/roles/enable_iommu_on_boot/tasks/main.yml | 94 ++++++++++++----------- 1 file changed, 48 insertions(+), 46 deletions(-) (limited to 'ansible') diff --git a/ansible/roles/enable_iommu_on_boot/tasks/main.yml b/ansible/roles/enable_iommu_on_boot/tasks/main.yml index e406fcc1e..188b32915 100644 --- a/ansible/roles/enable_iommu_on_boot/tasks/main.yml +++ b/ansible/roles/enable_iommu_on_boot/tasks/main.yml @@ -22,55 +22,57 @@ iommu_boot_params: ' amd_iommu=on iommu=pt' when: hostvars[inventory_hostname]['ansible_system_vendor'] == "AuthenticAMD" -- name: Define grub string for IOMMU - set_fact: - enable_iommu: 'GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX{{ iommu_boot_params }}' +- block: + - name: Define grub string for IOMMU + set_fact: + enable_iommu: 'GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX{{ iommu_boot_params }}' -- name: check if iommu is set by this role in {{ grub_file}} - lineinfile: - path: "{{ grub_file}}" - regexp: '{{ iommu_help_string }}' - line: '{{ iommu_help_string }}' - state: absent - check_mode: yes - register: is_nsb_iommu_role - ignore_errors: True + - name: check if iommu is set by this role in {{ grub_file}} + lineinfile: + path: "{{ grub_file}}" + regexp: '{{ iommu_help_string }}' + line: '{{ iommu_help_string }}' + state: absent + check_mode: yes + register: is_nsb_iommu_role + ignore_errors: True -- name: Check if IOMMU is set by someone else - lineinfile: - path: "{{ grub_file}}" - regexp: "_iommu=" - line: '{{ iommu_help_string }}' - state: absent - check_mode: yes - register: is_iommu - ignore_errors: True + - name: Check if IOMMU is set by someone else + lineinfile: + path: "{{ grub_file}}" + regexp: "_iommu=" + line: '{{ iommu_help_string }}' + state: absent + check_mode: yes + register: is_iommu + ignore_errors: True -- name: Send info that IOMMU is configured by someone else - debug: - msg: "INFO: NOT modified, IOMMU is already configured by someone." - when: - - not is_nsb_iommu_role.changed - - is_iommu.changed + - name: Send info that IOMMU is configured by someone else + debug: + msg: "INFO: NOT modified, IOMMU is already configured by someone." + when: + - not is_nsb_iommu_role.changed + - is_iommu.changed -- name: Add IOMMU when it is not set - lineinfile: - path: "{{ grub_file }}" - regexp: "{{ iommu_help_string }}" - line: '{{ enable_iommu }}" {{ iommu_help_string }}' - when: - - not is_nsb_iommu_role.changed - - not is_iommu.changed + - name: Add IOMMU when it is not set + lineinfile: + path: "{{ grub_file }}" + regexp: "{{ iommu_help_string }}" + line: '{{ enable_iommu }}" {{ iommu_help_string }}' + when: + - not is_nsb_iommu_role.changed + - not is_iommu.changed -- name: find boot grub.cfg - find: - paths: /boot - file_type: file - patterns: 'grub*.cfg' - recurse: yes - register: grub_files + - name: find boot grub.cfg + find: + paths: /boot + file_type: file + patterns: 'grub*.cfg' + recurse: yes + register: grub_files -- include: manual_modify_grub.yml - # only tested on Ubuntu, kernel line is probably different on other distros - with_items: "{{ grub_files.files }}" - when: ansible_distribution == "Ubuntu" + - include: manual_modify_grub.yml + # only tested on Ubuntu, kernel line is probably different on other distros + with_items: "{{ grub_files.files }}" + when: ansible_distribution == "Ubuntu" + when: iommu_boot_params is defined -- cgit 1.2.3-korg