Ansible: Mellanox install
[csit.git] / resources / tools / testbed-setup / ansible / roles / tg / tasks / trex.yaml
1 ---
2 # file: roles/tg/tasks/trex.yaml
3
4 - name: T-Rex Install - Get Release Archive
5   get_url:
6     url: 'https://github.com/cisco-system-traffic-generator/trex-core/archive/v{{ trex.version }}.tar.gz'
7     dest: '{{ trex.target_dir }}/trex-core-{{ trex.version }}.tar.gz'
8     mode: 0644
9   register: trex_downloaded
10   tags: install-trex
11
12 - name: T-Rex Install - Ensure Directory Exists
13   file:
14     path: '{{ trex.target_dir }}/trex-core-{{ trex.version }}'
15     state: 'directory'
16   register: trex_dir_created
17   tags: install-trex
18
19 - name: T-Rex Install - Extract Release Archive
20   unarchive:
21     remote_src: true
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/'
25   when: trex_dir_created
26   register: trex_extracted
27   tags: install-trex
28
29 - name: T-Rex Install - Compile Release I
30   command: './b configure; ./b build'
31   args:
32     chdir: '{{ trex.target_dir }}/trex-core-{{ trex.version }}/linux_dpdk/'
33   when: trex_extracted
34   tags: install-trex
35
36 - name: T-Rex Install - Compile Release II
37   command: 'make; make install'
38   args:
39     chdir: '{{ trex.target_dir }}/trex-core-{{ trex.version }}/scripts/ko/src'
40   when: trex_extracted
41   tags: install-trex