Re-compile vfio-pci and igb_uio for AWS in ansible scripts.
[csit.git] / resources / tools / testbed-setup / ansible / roles / dpdk / tasks / main.yaml
1 ---
2 # file: roles/dpdk/tasks/main.yaml
3
4 - name: DPDK - Install Distribution - Release - Machine Prerequisites
5   package:
6     name: "{{ packages | flatten(levels=1) }}"
7     state: latest
8     update_cache: true
9   tags:
10     - install-dependencies
11
12 - name: DPDK - Download Release Archive
13   get_url:
14     url: "{{ dpdk_url }}/dpdk-{{ dpdk_version }}.tar.xz"
15     dest: "{{ dpdk_target_dir }}/dpdk-{{ dpdk_version }}.tar.xz"
16     mode: 0644
17   register: "linux__dpdk_downloaded"
18   tags:
19     - install-dpdk
20
21 - name: Extract DPDK release archive
22   unarchive:
23     remote_src: true
24     src: "{{ dpdk_target_dir }}/dpdk-{{ dpdk_version }}.tar.xz"
25     dest: "{{ dpdk_target_dir }}/"
26     creates: "{{ dpdk_target_dir }}/dpdk-stable-{{ dpdk_version }}"
27   when: "linux__dpdk_downloaded"
28   register: "linux__dpdk_extracted"
29   tags:
30     - install-dpdk
31
32 - name: Compile DPDK release
33   become: yes
34   command: "make install T={{ dpdk_build_targets[ansible_machine] }}-linux-gcc DESTDIR={{ dpdk_target_dir }}/dpdk-stable-{{ dpdk_version }} chdir={{ dpdk_target_dir }}/dpdk-stable-{{ dpdk_version }}"
35   when: "linux__dpdk_extracted"
36   register: "linux__dpdk_compiled"
37   tags:
38     - install-dpdk
39
40 - name: Link igb_uio module
41   shell: "ln -fs {{ dpdk_target_dir }}/dpdk-stable-{{ dpdk_version }}/{{ dpdk_build_targets[ansible_machine] }}-linux-gcc/kmod/igb_uio.ko /lib/modules/`uname -r`/igb_uio.ko && depmod -a"
42   ignore_errors: "yes"
43   when: "linux__dpdk_compiled"
44   tags:
45     - link-igb_uio-module