2 # file: tasks/deploy_block.yaml
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"
10 register: trex_downloaded
12 - name: Create Directory {{ item }}
14 path: "{{ trex_target_dir }}/trex-core-{{ item }}"
17 - name: Extract Release {{ item }}
18 ansible.builtin.unarchive:
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
25 - name: Compile Release {{ item }} Part I
26 ansible.builtin.command: "./b configure"
28 chdir: "{{ trex_target_dir }}/trex-core-{{ item }}/linux_dpdk/"
29 when: trex_extracted.changed
31 - name: Compile Release {{ item }} Part II
32 ansible.builtin.command: "./b build"
34 chdir: "{{ trex_target_dir }}/trex-core-{{ item }}/linux_dpdk/"
38 when: trex_extracted.changed
40 - name: Check if T-Rex is Compiled
42 jid: "{{ trex_built.ansible_job_id }}"
44 until: trex_built.finished
47 when: trex_extracted.changed
49 - name: Compile Release {{ item }} Part III
50 ansible.builtin.command: "make -j 16"
52 chdir: "{{ trex_target_dir }}/trex-core-{{ item }}/scripts/ko/src"
53 when: trex_extracted.changed
55 - name: Compile Release {{ item }} Part IV
56 ansible.builtin.command: "make install"
58 chdir: "{{ trex_target_dir }}/trex-core-{{ item }}/scripts/ko/src"
59 when: trex_extracted.changed
61 - name: Link libc.a to liblibc.a
62 ansible.builtin.command: "ln -s -f /usr/lib/x86_64-linux-gnu/libc.a /usr/lib/x86_64-linux-gnu/liblibc.a"
63 when: trex_extracted.changed