X-Git-Url: https://gerrit.fd.io/r/gitweb?p=csit.git;a=blobdiff_plain;f=resources%2Ftools%2Ftestbed-setup%2Fansible%2Froles%2Faws%2Ftasks%2Fmain.yaml;h=2d209762c3ad52e15b5bacb21d1a1f3b3ba74b62;hp=94dcff4ef3bb78c058ee09219c3de539503bd807;hb=8018da98e0f362bc69fc9600fac222a86fd46b5e;hpb=6bc0123c235171918a6193b1551ed4d4d82c2fec diff --git a/resources/tools/testbed-setup/ansible/roles/aws/tasks/main.yaml b/resources/tools/testbed-setup/ansible/roles/aws/tasks/main.yaml index 94dcff4ef3..2d209762c3 100644 --- a/resources/tools/testbed-setup/ansible/roles/aws/tasks/main.yaml +++ b/resources/tools/testbed-setup/ansible/roles/aws/tasks/main.yaml @@ -1,19 +1,88 @@ --- # file: roles/aws/tasks/main.yaml -- name: AWS - Load Kernel Modules By Default +- name: Edit repositories + include_tasks: "{{ ansible_distribution|lower }}_{{ ansible_distribution_release }}.yaml" + tags: + - aws-edit-repo + +- name: Get vfio-pci With WC Patcher + 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 + file: + path: "/opt/patches/" + state: "directory" + tags: + - aws-vfio-patch + +- name: Get vfio-pci WC Patch >=4.10 + get_url: + url: "https://github.com/amzn/amzn-drivers/raw/master/userspace/dpdk/enav2-vfio-patch/patches/linux-4.10-vfio-wc.patch" + dest: "/opt/patches/linux-4.10-vfio-wc.patch" + mode: "744" + tags: + - aws-vfio-patch + +- name: Get vfio-pci WC Patch >=5.8 + get_url: + url: "https://github.com/amzn/amzn-drivers/raw/master/userspace/dpdk/enav2-vfio-patch/patches/linux-5.8-vfio-wc.patch" + dest: "/opt/patches/linux-5.8-vfio-wc.patch" + mode: "744" + tags: + - aws-vfio-patch + +- name: Compile vfio-pci With WC Patch + shell: "/bin/bash /opt/get-vfio-with-wc.sh" + tags: + - aws-vfio-patch + +- name: Load Kernel Modules By Default 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) + 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) + 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 + systemd: + name: "systemd-modules-load" + state: "restarted" tags: - - load-kernel-modules + - aws-reload-systemd-modules - name: Performance Tuning - Adjust nr_hugepages - # change the minimum size of the hugepage pool. - # 2G VPP, 4GB per VNF/CNF, 2G reserve sysctl: name: "vm.nr_hugepages" value: "8192" @@ -21,4 +90,4 @@ sysctl_file: "/etc/sysctl.d/90-csit.conf" reload: "yes" tags: - - set-sysctl + - aws-set-hugepages