From db359de3ff4ecd93c8d30ed52d996380ae22acda Mon Sep 17 00:00:00 2001 From: pmikus Date: Fri, 4 Jun 2021 10:34:42 +0000 Subject: Infra: vpp_device -> Ubuntu 20.04 Signed-off-by: pmikus Change-Id: If24c385b93e1ba310ea258984c97494b4cab467c (cherry picked from commit f754eac4faf76fdbffac648769c03f5668f9f6a2) --- .../roles/vpp_device/defaults/main.yaml | 6 ++ .../roles/vpp_device/files/csit-initialize-vfs.sh | 2 - .../roles/vpp_device/tasks/main.yaml | 92 +++++++++++++++++++--- 3 files changed, 86 insertions(+), 14 deletions(-) create mode 100644 fdio.infra.ansible/roles/vpp_device/defaults/main.yaml (limited to 'fdio.infra.ansible/roles') diff --git a/fdio.infra.ansible/roles/vpp_device/defaults/main.yaml b/fdio.infra.ansible/roles/vpp_device/defaults/main.yaml new file mode 100644 index 0000000000..d001608c7a --- /dev/null +++ b/fdio.infra.ansible/roles/vpp_device/defaults/main.yaml @@ -0,0 +1,6 @@ +--- +# file: roles/vpp_device/defaults/main.yaml + +iavf_target_dir: "/opt" +iavf_version: "4.1.1" +iavf_url: "https://downloads.sourceforge.net/project/e1000/iavf%20stable/{{ iavf_version }}/iavf-{{ iavf_version }}.tar.gz?ts=gAAAAABgvfs_L6gSH8B09NfEc8fzoooS3M2wyuOxlFEK5EtTstZWFdb2dYcqJZNqiirAT87dbc3GeJJrRst9KfUgS-byAeyaLw%3D%3D&r=https%3A%2F%2Fsourceforge.net%2Fprojects%2Fe1000%2Ffiles%2Fiavf%2520stable%2F{{ iavf_version }}%2Fiavf-{{ iavf_version }}.tar.gz%2Fdownload" \ No newline at end of file diff --git a/fdio.infra.ansible/roles/vpp_device/files/csit-initialize-vfs.sh b/fdio.infra.ansible/roles/vpp_device/files/csit-initialize-vfs.sh index 393e997d65..27b1acb057 100644 --- a/fdio.infra.ansible/roles/vpp_device/files/csit-initialize-vfs.sh +++ b/fdio.infra.ansible/roles/vpp_device/files/csit-initialize-vfs.sh @@ -67,7 +67,5 @@ for pci_addr in ${PCI_WHITELIST[@]}; do pci_idx=$(( pci_idx + 1 )) ;; esac - rmmod i40evf - modprobe i40evf fi done diff --git a/fdio.infra.ansible/roles/vpp_device/tasks/main.yaml b/fdio.infra.ansible/roles/vpp_device/tasks/main.yaml index 33b551715f..aa381f60e2 100644 --- a/fdio.infra.ansible/roles/vpp_device/tasks/main.yaml +++ b/fdio.infra.ansible/roles/vpp_device/tasks/main.yaml @@ -8,10 +8,12 @@ line: "{{ item }}" with_items: - "vfio-pci" + when: + - cpu_microarchitecture == "thunderx2" tags: - load-kernel-modules -- name: VPP_device - Disable ipv6 router advertisement +- name: Disable IPv6 Router Advertisement sysctl: name: "net.ipv6.conf.default.accept_ra" value: "0" @@ -21,7 +23,7 @@ tags: - set-sysctl -- name: VPP_device - Disable ipv6 router advertisement +- name: Disable IPv6 Router Advertisement sysctl: name: "net.ipv6.conf.all.accept_ra" value: "0" @@ -31,45 +33,85 @@ tags: - set-sysctl -- name: VPP_device - Copy csit-initialize-vfs.sh +- name: Disable IPv6 MLDv1 interval + sysctl: + name: "net.ipv6.conf.all.mldv1_unsolicited_report_interval=0" + value: "0" + state: "present" + sysctl_file: "/etc/sysctl.d/90-csit.conf" + reload: "yes" + tags: + - set-sysctl + +- name: Disable IPv6 MLDv2 interval + sysctl: + name: "net.ipv6.conf.all.mldv2_unsolicited_report_interval=0" + value: "0" + state: "present" + sysctl_file: "/etc/sysctl.d/90-csit.conf" + reload: "yes" + tags: + - set-sysctl + +- name: Disable IPv6 Autoconf + sysctl: + name: "net.ipv6.conf.all.autoconf=0" + value: "0" + state: "present" + sysctl_file: "/etc/sysctl.d/90-csit.conf" + reload: "yes" + tags: + - set-sysctl + +- name: Disable IPv6 MC Forwarding + sysctl: + name: "net.ipv6.conf.all.mc_forwarding=0" + value: "0" + state: "present" + sysctl_file: "/etc/sysctl.d/90-csit.conf" + reload: "yes" + tags: + - set-sysctl + +- name: Copy csit-initialize-vfs.sh copy: src: "files/csit-initialize-vfs.sh" dest: "/usr/local/bin/" owner: "root" group: "root" - mode: "744" + mode: 0744 tags: - copy-vf-script -- name: VPP_device - Copy csit-initialize-vfs-data.sh +- name: Copy csit-initialize-vfs-data.sh copy: src: "files/{{ vfs_data_file }}" dest: "/usr/local/bin/csit-initialize-vfs-data.sh" owner: "root" group: "root" - mode: "744" + mode: 0744 tags: copy-vf-data-script when: - vfs_data_file is defined -- name: VPP_device - Copy default csit-initialize-vfs-data.sh +- name: Copy Default csit-initialize-vfs-data.sh copy: src: "files/csit-initialize-vfs-default.sh" dest: "/usr/local/bin/csit-initialize-vfs-data.sh" owner: "root" group: "root" - mode: "744" + mode: 0744 tags: copy-vf-data-script when: - vfs_data_file is not defined -- name: VPP_device - Start csit-initialize-vfs.service +- name: Start csit-initialize-vfs.service copy: src: "files/csit-initialize-vfs.service" dest: "/etc/systemd/system/" owner: "root" group: "root" - mode: "644" + mode: 0644 notify: - "Start csit-initialize-vfs.service" tags: @@ -77,7 +119,7 @@ - meta: flush_handlers -- name: VPP_device - Set hugepages in GRUB +- name: Set Hugepages In GRUB lineinfile: path: "/etc/default/grub" state: "present" @@ -85,8 +127,34 @@ line: "GRUB_CMDLINE_LINUX=\"{% for key, value in grub.items() %}{% if value %}{{key}}={{value}} {% else %}{{key}} {% endif %}{% endfor %}\"" notify: - "Update GRUB" - - "Reboot server" tags: - set-grub +- name: Download iAVF driver + get_url: + url: "{{ iavf_url }}" + dest: "{{ iavf_target_dir }}/iavf-{{ iavf_version }}.tar.gz" + validate_certs: False + mode: 0644 + tags: + - install-iavf + +- name: Extract iAVF driver + unarchive: + remote_src: true + src: "{{ iavf_target_dir }}/iavf-{{ iavf_version }}.tar.gz" + dest: "{{ iavf_target_dir }}/" + creates: "{{ iavf_target_dir }}/iavf-{{ iavf_version }}/src/" + tags: + - install-iavf + +- name: Compile iAVF driver + command: "make install" + args: + chdir: "{{ iavf_target_dir }}/iavf-{{ iavf_version }}/src/" + notify: + - "Reboot server" + tags: + - install-iavf + - meta: flush_handlers -- cgit 1.2.3-korg