Ansible git move
[csit.git] / fdio.infra.ansible / roles / iperf / tasks / main.yaml
diff --git a/fdio.infra.ansible/roles/iperf/tasks/main.yaml b/fdio.infra.ansible/roles/iperf/tasks/main.yaml
new file mode 100644 (file)
index 0000000..f8948ca
--- /dev/null
@@ -0,0 +1,62 @@
+---
+# file: roles/iperf/tasks/main.yaml
+
+- 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
+  tags:
+    - iperf-inst-prerequisites
+
+- name: Get Release Archive
+  get_url:
+    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:
+    - iperf-inst
+
+- name: Extract Release Archive
+  unarchive:
+    remote_src: true
+    src: "{{ iperf_target_dir }}/iperf-{{ item }}.tar.gz"
+    dest: "{{ iperf_target_dir }}/"
+    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:
+    - iperf-inst
+
+- name: Compile Release III
+  command: "make install"
+  args:
+      chdir: "{{ iperf_target_dir }}/iperf-{{ item }}/"
+  loop: "{{ iperf_version }}"
+  tags:
+    - iperf-inst
\ No newline at end of file