Ansible: Fix package cache updates
[csit.git] / resources / tools / testbed-setup / ansible / roles / dpdk / tasks / main.yaml
1 ---
2 # file: roles/dpdk/tasks/main.yaml
3
4 - Name: Update package cache (apt)
5   apt:
6     update_cache: yes
7     cache_valid_time: 3600
8   when:
9     - ansible_distribution|lower == 'ubuntu'
10
11 - name: DPDK - Install Distribution - Release - Machine Prerequisites
12   package:
13     name: "{{ packages | flatten(levels=1) }}"
14     state: latest
15   tags:
16     - install-dependencies
17
18 - name: DPDK - Download Release Archive
19   get_url:
20     url: "{{ dpdk_url }}/dpdk-{{ item }}.tar.xz"
21     dest: "{{ dpdk_target_dir }}/dpdk-{{ item }}.tar.xz"
22     mode: 0644
23   loop: "{{ dpdk_version }}"
24   register: "dpdk_downloaded"
25   tags:
26     - install-dpdk
27
28 - name: DPDK - Extract Release Archive
29   unarchive:
30     remote_src: true
31     src: "{{ dpdk_target_dir }}/dpdk-{{ item }}.tar.xz"
32     dest: "{{ dpdk_target_dir }}/"
33     creates: "{{ dpdk_target_dir }}/dpdk-{{ item }}"
34   loop: "{{ dpdk_version }}"
35   when: "dpdk_downloaded"
36   register: "dpdk_extracted"
37   tags:
38     - install-dpdk
39
40 - name: DPDK - Build igb_uio by default
41   lineinfile:
42     dest: "{{ dpdk_target_dir }}/dpdk-{{ item }}/config/common_base"
43     regexp: "^CONFIG_RTE_EAL_IGB_UIO"
44     line: "CONFIG_RTE_EAL_IGB_UIO=y"
45   loop: "{{ dpdk_version }}"
46   when: "dpdk_extracted"
47   register: "dpdk_configured"
48   tags:
49     - install-dpdk
50
51 - name: DPDK - Compile Release I
52   become: yes
53   command: "make install T={{ dpdk_build_targets[item][ansible_machine] }} DESTDIR={{ dpdk_target_dir }}/dpdk-{{ item }} chdir={{ dpdk_target_dir }}/dpdk-{{ item }}"
54   loop: "{{ dpdk_version }}"
55   when: "dpdk_configured"
56   register: "dpdk_compiled"
57   tags:
58     - install-dpdk
59
60 - name: DPDK - Link igb_uio Module
61   shell: "ln -fs {{ dpdk_target_dir }}/dpdk-{{ item }}/{{ dpdk_build_targets[item][ansible_machine] }}/kmod/igb_uio.ko /lib/modules/`uname -r`/igb_uio.ko && depmod -a"
62   ignore_errors: "yes"
63   loop: "{{ dpdk_version }}"
64   when: "dpdk_compiled"
65   tags:
66     - install-dpdk