--- # file: roles/aws/tasks/main.yaml - name: Edit repositories include_tasks: "{{ ansible_distribution|lower }}_{{ ansible_distribution_release }}.yaml" tags: - aws-edit-repo - name: Get vfio-pci With WC Patcher ansible.builtin.get_url: url: "https://github.com/amzn/amzn-drivers/raw/master/userspace/dpdk/enav2-vfio-patch/get-vfio-with-wc.sh" dest: "/opt/get-vfio-with-wc.sh" mode: "744" tags: - aws-vfio-patch - name: Create vfio-pci Patch Directory ansible.builtin.file: path: "/opt/patches/" state: "directory" tags: - aws-vfio-patch - name: Get vfio-pci WC Patch >=5.15 ansible.builtin.get_url: url: "https://github.com/amzn/amzn-drivers/raw/master/userspace/dpdk/enav2-vfio-patch/patches/linux-5.15-vfio-wc.patch" dest: "/opt/patches/linux-5.15-vfio-wc.patch" mode: "744" tags: - aws-vfio-patch - name: Patch WC Patch Script ansible.builtin.lineinfile: path: "/opt/get-vfio-with-wc.sh" regexp: '^ rm -f linux-' line: " rm -f linux-*.dsc linux-*.gz linux-*.xz" tags: - aws-vfio-patch - name: Patch WC Patch Script II ansible.builtin.replace: path: "/opt/get-vfio-with-wc.sh" regexp: 'linux-image-' replace: 'linux-image-unsigned-' tags: - aws-vfio-patch #- name: Compile vfio-pci With WC Patch # ansible.builtin.shell: "/bin/bash /opt/get-vfio-with-wc.sh" # environment: # DEBIAN_FRONTEND: "noninteractive" # TERM: "vt100" # tags: # - aws-vfio-patch - name: Load Kernel Modules By Default ansible.builtin.lineinfile: path: "/etc/modules" state: "present" line: "{{ item }}" with_items: - "vfio-pci" - "igb_uio" tags: - aws-load-kernel-modules - name: Add Kernel Modules Options (igb_uio) ansible.builtin.lineinfile: path: "/etc/modprobe.d/igb_uio.conf" state: "present" line: "{{ item }}" create: "yes" with_items: - "options igb_uio wc_activate=1" tags: - aws-load-kernel-modules - name: Add Kernel Modules Options (vfio-pci) ansible.builtin.lineinfile: path: "/etc/modprobe.d/vfio-noiommu.conf" state: "present" line: "{{ item }}" create: "yes" with_items: - "options vfio enable_unsafe_noiommu_mode=1" tags: - aws-load-kernel-modules - name: Reload systemd-modules ansible.builtin.systemd: name: "systemd-modules-load" state: "restarted" tags: - aws-reload-systemd-modules - name: Adjust nr_hugepages ansible.builtin.sysctl: name: "vm.nr_hugepages" value: "8192" state: "present" sysctl_file: "/etc/sysctl.d/90-csit.conf" reload: "yes" tags: - aws-set-hugepages - name: Shutdown host with delay ansible.builtin.command: "/sbin/shutdown -P +720" tags: - aws-set-self-terminate