2 # file: roles/tg/tasks/trex.yaml
4 - name: Download TRex release archive
6 url: '{{ trex.url }}/v{{ trex.version }}.tar.gz'
7 dest: '{{ trex.target_dir }}/trex-core-{{ trex.version }}.tar.gz'
9 register: 'linux__trex_downloaded'
12 - name: Ensure TRex directory exists
14 path: '{{ trex.target_dir }}/trex-core-{{ trex.version }}'
16 register: 'linux__trex_dir_created'
19 - name: Extract TRex release archive
22 src: '{{ trex.target_dir }}/trex-core-{{ trex.version }}.tar.gz'
23 dest: '{{ trex.target_dir }}/'
24 creates: '{{ trex.target_dir }}/trex-core-{{ trex.version }}/linux_dpdk'
26 when: 'linux__trex_dir_created'
27 register: 'linux__trex_extracted'
30 - name: Compile TRex release I
32 shell: 'cd {{ trex.target_dir }}/trex-core-{{ trex.version }}/linux_dpdk/; ./b configure; ./b build'
33 when: 'linux__trex_extracted'
36 - name: Compile TRex release II
38 shell: 'cd {{ trex.target_dir }}/trex-core-{{ trex.version }}/scripts/ko/src; make; make install'
39 when: 'linux__trex_extracted'