11f51ddeac81494258748a2300c6e726e74ad3e8
[csit.git] / resources / tools / testbed-setup / ansible / roles / trex / tasks / main.yaml
1 ---
2 # file: roles/trex/tasks/main.yaml
3
4 - name: T-Rex Install - Install Distribution - Release - Machine Prerequisites
5   package:
6     name: "{{ packages | flatten(levels=1) }}"
7     state: latest
8     update_cache: true
9   tags:
10     - install-dependencies
11
12 - name: T-Rex Install - Get Release Archive
13   get_url:
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"
16     mode: 0644
17   register: trex_downloaded
18   tags:
19     - install-trex
20
21 - name: T-Rex Install - Ensure Directory Exists
22   file:
23     path: "{{ trex_target_dir }}/trex-core-{{ trex_version }}"
24     state: "directory"
25   register: trex_dir_created
26   tags:
27     - install-trex
28
29 - name: T-Rex Install - Extract Release Archive
30   unarchive:
31     remote_src: true
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
37   tags:
38     - install-trex
39
40 - name: T-Rex Install - Azure patch I
41   patch:
42     src: "files/t-rex.patch"
43     basedir: "{{ trex_target_dir }}/trex-core-{{ trex_version }}"
44     strip: 1
45   when:
46     - azure is defined
47   tags:
48     - install-trex
49
50 - name: T-Rex Install - Compile Release I
51   raw: "cd {{ trex_target_dir }}/trex-core-{{ trex_version }}/linux_dpdk/; ./b configure; ./b build"
52   when: trex_extracted
53   tags:
54     - install-trex
55
56 - name: T-Rex Install - Compile Release II
57   raw: "cd {{ trex_target_dir }}/trex-core-{{ trex_version }}/scripts/ko/src; make; make install"
58   when: trex_extracted
59   tags:
60     - install-trex