2 # file: roles/trex/tasks/main.yaml
4 - name: T-Rex Install - Install Distribution - Release - Machine Prerequisites
6 name: "{{ packages | flatten(levels=1) }}"
10 - install-dependencies
12 - name: T-Rex Install - Get Release Archive
14 url: "https://github.com/cisco-system-traffic-generator/trex-core/archive/v{{ trex_version }}.tar.gz"
15 dest: "{{ trex_target_dir }}/trex-core-{{ trex_version }}.tar.gz"
17 register: trex_downloaded
21 - name: T-Rex Install - Ensure Directory Exists
23 path: "{{ trex_target_dir }}/trex-core-{{ trex_version }}"
25 register: trex_dir_created
29 - name: T-Rex Install - Extract Release Archive
32 src: "{{ trex_target_dir }}/trex-core-{{ trex_version }}.tar.gz"
33 dest: "{{ trex_target_dir }}/"
34 creates: "{{ trex_target_dir }}/trex-core-{{ trex_version }}/linux_dpdk/"
35 when: trex_dir_created
36 register: trex_extracted
40 - name: T-Rex Install - Azure patch I
42 src: "files/t-rex.patch"
43 basedir: "{{ trex_target_dir }}/trex-core-{{ trex_version }}"
50 - name: T-Rex Install - Compile Release I
51 raw: "cd {{ trex_target_dir }}/trex-core-{{ trex_version }}/linux_dpdk/; ./b configure; ./b build"
56 - name: T-Rex Install - Compile Release II
57 raw: "cd {{ trex_target_dir }}/trex-core-{{ trex_version }}/scripts/ko/src; make; make install"