Ansible: Optimizations
[csit.git] / resources / tools / testbed-setup / ansible / roles / wrk / tasks / main.yaml
1 ---
2 # file: roles/wrk/tasks/main.yaml
3
4 - name: WRK 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: WRK Install - Get Release Archive
13   get_url:
14     url: "https://github.com/wg/wrk/archive/{{ wrk_version }}.tar.gz"
15     dest: "{{ wrk_target_dir }}/{{ wrk_version }}.tar.gz"
16     mode: 0644
17   register: wrk_downloaded
18   tags:
19     - install-wrk
20
21 - name: WRK Install - Ensure Directory Exists
22   file:
23     path: "{{ wrk_target_dir }}/wrk-{{ wrk_version }}"
24     state: "directory"
25   register: wrk_dir_created
26   tags:
27     - install-wrk
28
29 - name: WRK Install - Extract Release Archive
30   unarchive:
31     remote_src: true
32     src: "{{ wrk_target_dir }}/{{ wrk_version }}.tar.gz"
33     dest: "{{ wrk_target_dir }}/"
34     creates: "{{ wrk_target_dir }}/wrk-{{ wrk_version }}/src"
35   when: wrk_dir_created
36   register: wrk_extracted
37   tags:
38     - install-wrk
39
40 - name: WRK Install - Compile Release
41   command: "make"
42   args:
43     chdir: "{{ wrk_target_dir }}/wrk-{{ wrk_version }}"
44   when: wrk_extracted
45   register: wrk_compiled
46   tags:
47     - install-wrk
48
49 - name: WRK Install - Copy Binary
50   command: "cp {{ wrk_target_dir }}/wrk-{{ wrk_version }}/wrk /usr/local/bin/"
51   when: wrk_compiled
52   tags:
53     - install-wrk