---
# file: roles/iperf/tasks/main.yaml
-- name: iPerf Install - Install Distribution - Release - Machine Prerequisites
+- name: Inst - Update Package Cache (APT)
+ apt:
+ update_cache: yes
+ cache_valid_time: 3600
+ when:
+ - ansible_distribution|lower == 'ubuntu'
+ tags:
+ - iperf-inst-prerequisites
+
+- name: Inst - Prerequisites
package:
name: "{{ packages | flatten(levels=1) }}"
state: latest
- update_cache: true
tags:
- - install-dependencies
+ - iperf-inst-prerequisites
-- name: iPerf Install - Get Release Archive
+- name: Get Release Archive
get_url:
- url: "https://downloads.es.net/pub/iperf/iperf-{{ iperf_version }}.tar.gz"
- dest: "{{ iperf_target_dir }}/iperf-{{ iperf_version }}.tar.gz"
+ url: "https://downloads.es.net/pub/iperf/iperf-{{ item }}.tar.gz"
+ dest: "{{ iperf_target_dir }}/iperf-{{ item }}.tar.gz"
+ validate_certs: false
mode: 0644
+ loop: "{{ iperf_version }}"
tags:
- - install-iperf
-
-- name: iPerf Install - Ensure Directory Exists
- file:
- path: "{{ iperf_target_dir }}/iperf-{{ iperf_version }}"
- state: "directory"
- tags:
- - install-iperf
+ - iperf-inst
-- name: iPerf Install - Extract Release Archive
+- name: Extract Release Archive
unarchive:
remote_src: true
- src: "{{ iperf_target_dir }}/iperf-{{ iperf_version }}.tar.gz"
+ src: "{{ iperf_target_dir }}/iperf-{{ item }}.tar.gz"
dest: "{{ iperf_target_dir }}/"
- creates: "{{ iperf_target_dir }}/iperf-{{ iperf_version }}/src"
+ creates: "{{ iperf_target_dir }}/iperf-{{ item }}/src"
+ loop: "{{ iperf_version }}"
+ tags:
+ - iperf-inst
+
+- name: Compile Release I
+ command: "./configure"
+ args:
+ chdir: "{{ iperf_target_dir }}/iperf-{{ item }}/"
+ loop: "{{ iperf_version }}"
+ tags:
+ - iperf-inst
+
+- name: Compile Release II
+ command: "make"
+ args:
+ chdir: "{{ iperf_target_dir }}/iperf-{{ item }}/"
+ loop: "{{ iperf_version }}"
tags:
- - install-iperf
+ - iperf-inst
-- name: iPerf Install - Compile Release I
- shell: |
- cd "{{ iperf_target_dir }}/iperf-{{ iperf_version }}/" && ./configure && make && make install
+- name: Compile Release III
+ command: "make install"
+ args:
+ chdir: "{{ iperf_target_dir }}/iperf-{{ item }}/"
+ loop: "{{ iperf_version }}"
tags:
- - install-iperf
+ - iperf-inst
\ No newline at end of file