feat(ansible): Ubuntu Jammy VI.
[csit.git] / fdio.infra.ansible / roles / trex / tasks / deploy_block.yaml
1 ---
2 # file: roles/trex/tasks/deploy_block.yaml
3
4 - name: Get Release {{ item }}
5   ansible.builtin.get_url:
6     url: "{{ trex_url }}/v{{ item }}.tar.gz"
7     dest: "{{ trex_target_dir }}/trex-core-{{ item }}.tar.gz"
8     validate_certs: false
9     mode: 0644
10   register: trex_downloaded
11
12 - name: Create Directory {{ item }}
13   ansible.builtin.file:
14     path: "{{ trex_target_dir }}/trex-core-{{ item }}"
15     state: "directory"
16
17 - name: Extract Release {{ item }}
18   ansible.builtin.unarchive:
19     remote_src: true
20     src: "{{ trex_target_dir }}/trex-core-{{ item }}.tar.gz"
21     dest: "{{ trex_target_dir }}/"
22     creates: "{{ trex_target_dir }}/trex-core-{{ item }}/linux_dpdk/"
23   register: trex_extracted
24
25 - name: Patch Azure
26   ansible.builtin.patch:
27     src: "files/t-rex.patch"
28     basedir: "{{ trex_target_dir }}/trex-core-{{ item }}"
29     strip: 1
30   when:
31     - azure is defined and item == "2.73"
32
33 - name: Switch to gcc-9
34   ansible.builtin.command: "update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 9"
35   when: trex_extracted.changed
36
37 - name: Switch to g++-9
38   ansible.builtin.command: "update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-9 9"
39   when: trex_extracted.changed
40
41 - name: Compile Release {{ item }} Part I
42   ansible.builtin.command: "./b configure"
43   args:
44     chdir: "{{ trex_target_dir }}/trex-core-{{ item }}/linux_dpdk/"
45   when: trex_extracted.changed
46
47 - name: Compile Release {{ item }} Part II
48   ansible.builtin.command: "./b build"
49   args:
50     chdir: "{{ trex_target_dir }}/trex-core-{{ item }}/linux_dpdk/"
51   when: trex_extracted.changed
52
53 - name: Switch to gcc-11
54   ansible.builtin.command: "update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 11"
55   when: trex_extracted.changed
56
57 - name: Switch to g++-11
58   ansible.builtin.command: "update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-11 11"
59   when: trex_extracted.changed
60
61 - name: Compile Release {{ item }} Part III
62   ansible.builtin.command: "make -j 16"
63   args:
64     chdir: "{{ trex_target_dir }}/trex-core-{{ item }}/scripts/ko/src"
65   when: trex_extracted.changed
66
67 - name: Compile Release {{ item }} Part IV
68   ansible.builtin.command: "make install"
69   args:
70     chdir: "{{ trex_target_dir }}/trex-core-{{ item }}/scripts/ko/src"
71   when: trex_extracted.changed