blob: a6e3775b52646ec8e3a388473b9657874052849b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
|
- hosts: 127.0.0.1
connection: local
tasks:
- name: getting directory
shell: sudo echo $PWD
register: qtip_dir
- name: making Iperf directory
file: path={{workingdir}}/{{Dest_dir}}/iperf state=directory
- name: making temporary iperf directory
file: path={{workingdir}}/{{Dest_dir}}/iperf/iperf_temp state=directory
- hosts: "{{role}}"
become: yes
remote_user: "{{username}}"
tasks:
- name: Rolename
set_fact:
rolename: "{{role}}"
when: role is defined
- name: installertype
set_fact:
installertype: "{{installer}}"
- name: Get Hostname
shell: echo $HOSTNAME
register: hostID
- name: echo
shell: echo index_var
- name: checking_home directory
shell: echo $HOME
register: home_dir
- name: cleaning
shell: sudo rm -rf $HOME/iperf
- name: cleaning previous results
shell: sudo rm -rf $HOME/qtip_result
- name: making Iperf temporary directory
shell: sudo mkdir $HOME/iperf
- name: making results temporary directory
shell: sudo mkdir $HOME/qtip_result
- include: ./sys_info_pbook.yaml
vars:
network: true
- name: Installing Epel-release when CentOS
shell: sudo yum install epel-release -y
when: ansible_os_family == "RedHat"
- name: Allow iperf server port in iptables input rules
shell: iptables -A INPUT -p tcp --dport {{iperf_port}} -j ACCEPT
vars:
iperf_port: 5201
ignore_errors: yes
when: rolename == "1-server" and installertype == 'fuel'
- name: Installing IPERF when Ubuntu
shell: sudo apt-get install iperf3 -y
when: ansible_os_family == "Debian"
- name: Installing Iperf3
shell: sudo yum install iperf3 -y
when: ansible_os_family == "RedHat"
- name: Running iperf on server
shell: iperf3 -s
async: 400
poll: 0
when: rolename == "1-server"
- name: Running Iperf on Host
shell: iperf3 --time {{duration}} -b 0 G -c {{ip1}} -J -O10 >> {{home_dir.stdout}}/qtip_result/iperf_raw.json
ignore_errors: yes
with_items:
- "{{ip1}}"
when: rolename == "2-host" and "{{privateip1}}" == "NONE"
- name: Running Iperf on Host
shell: iperf3 --time {{duration}} -b 0 G -c {{privateip1}} -J -O10 >> {{home_dir.stdout}}/qtip_result/iperf_raw.json
ignore_errors: yes
with_items:
- "{{ip1}}"
when: rolename == "2-host" and "{{privateip1}}" != "NONE"
- name: Fetching result transformation script
copy: src=./result_transform/iperf/iperf_transform.py dest={{home_dir.stdout}}/qtip_result
- name: Transforming result
shell: cd $HOME/qtip_result && sudo python iperf_transform.py
when: rolename =="2-host" and "{{ip2}}" == ''
- name: copy report formation script
copy: src=./result_transform/final_report.py dest={{home_dir.stdout}}/qtip_result
when: rolename =="2-host" and "{{ip2}}" == ''
- name: consolidating report
shell: cd $HOME/qtip_result && sudo python final_report.py IPERF {{fname}}
when: rolename =="2-host" and "{{ip2}}" == ''
- name: Files to Copy
shell: (cd $HOME/qtip_result/; find . -maxdepth 1 -name "*.json") | cut -d'/' -f2
register: files_to_copy
when: rolename =="2-host" and "{{ip2}}" == ''
- name: copy results
fetch: src={{home_dir.stdout}}/qtip_result/{{item}} dest={{workingdir}}/{{Dest_dir}}/iperf/iperf_temp
with_items: files_to_copy.stdout_lines
when: rolename =="2-host" and "{{ip2}}" == ''
- name: registering log files
shell: (cd $HOME/qtip_result/; find . -maxdepth 1 -name "*.log") | cut -d'/' -f2
register: copy_log_results
when: rolename =="2-host" and "{{ip2}}" == ''
- name: copying log results
fetch: src={{home_dir.stdout}}/qtip_result/{{item}} dest={{workingdir}}/{{Dest_dir}}/iperf/iperf_temp
with_items: copy_log_results.stdout_lines
when: rolename =="2-host" and "{{ip2}}" == ''
- hosts: 127.0.0.1
connection: local
tasks:
- name: Rolename
set_fact:
rolename: "{{role}}"
when: role is defined
- name: extracting_json
shell: ( find {{workingdir}}/{{Dest_dir}}/iperf/iperf_temp/ -name "*.json" | xargs cp -t {{workingdir}}/{{Dest_dir}}/iperf/)
when: rolename == "2-host"
- name: making_logs_folder
shell: mkdir -p {{workingdir}}/{{Dest_dir}}/iperf/logs
- name: extracting_log
shell: ( find {{workingdir}}/{{Dest_dir}}/iperf/iperf_temp/ -name "*.log" | xargs cp -t {{workingdir}}/{{Dest_dir}}/iperf/logs)
when: rolename == "2-host"
- name: removing iperf_raw file
shell: rm -rf {{workingdir}}/{{Dest_dir}}/iperf/iperf_raw.json
when: rolename == "2-host"
- name: removing iperf_temp
shell: rm -rf {{workingdir}}/{{Dest_dir}}/iperf/iperf_temp
|