e7d22e1aa1e1a12a4f9115ec12b02a29e1bffb14
[csit.git] / resources / tools / testbed-setup / ansible / roles / tg / tasks / wrk.yaml
1 ---
2 # file: roles/tg/tasks/wrk.yaml
3
4 - name: Download WRK release archive
5   get_url:
6     url: '{{ wrk.url }}/{{ wrk.version }}.tar.gz'
7     dest: '{{ wrk.target_dir }}/{{ wrk.version }}.tar.gz'
8     mode: 0644
9   register: 'linux__wrk_downloaded'
10   tags: install-wrk
11
12 - name: Ensure WRK directory exists
13   file:
14     path: '{{ wrk.target_dir }}/wrk-{{ wrk.version }}'
15     state: 'directory'
16   register: 'linux__wrk_dir_created'
17   tags: install-wrk
18
19 - name: Extract WRK release archive
20   become: yes
21   unarchive:
22     src: '{{ wrk.target_dir }}/{{ wrk.version }}.tar.gz'
23     dest: '{{ wrk.target_dir }}/'
24     creates: '{{ wrk.target_dir }}/wrk-{{ wrk.version }}/src'
25     remote_src: yes
26   when: 'linux__wrk_dir_created'
27   register: 'linux__wrk_extracted'
28   tags: install-wrk
29
30 - name: Compile WRK release
31   become: yes
32   shell: 'cd {{ wrk.target_dir }}/wrk-{{ wrk.version }}; make'
33   when: 'linux__wrk_extracted'
34   register: 'linux__wrk_compiled'
35   tags: install-wrk
36
37 - name: Move WRK binary
38   become: yes
39   command: 'mv {{ wrk.target_dir }}/wrk-{{ wrk.version }}/wrk /usr/local/bin/'
40   when: 'linux__wrk_compiled'
41   tags: install-wrk