aboutsummaryrefslogtreecommitdiffstats
path: root/benchmarks
diff options
context:
space:
mode:
Diffstat (limited to 'benchmarks')
-rw-r--r--benchmarks/fio_jobs/test_job13
-rw-r--r--benchmarks/playbooks/cachebench.yaml4
-rw-r--r--benchmarks/playbooks/dhrystone.yaml112
-rw-r--r--benchmarks/playbooks/dpi.yaml110
-rw-r--r--benchmarks/playbooks/fio.yaml96
-rw-r--r--benchmarks/playbooks/git_proxy_pbook.yaml12
-rw-r--r--benchmarks/playbooks/info_script/info_collect.py87
-rw-r--r--benchmarks/playbooks/iperf.yaml150
-rw-r--r--benchmarks/playbooks/netperf.yaml79
-rw-r--r--benchmarks/playbooks/pktgen.yaml38
-rw-r--r--benchmarks/playbooks/ramspeed.yaml100
-rw-r--r--benchmarks/playbooks/ramspeedbench.yaml38
-rw-r--r--benchmarks/playbooks/result_transform/dpi/dpi_average.sh14
-rw-r--r--benchmarks/playbooks/result_transform/dpi/dpi_transform.py48
-rw-r--r--benchmarks/playbooks/result_transform/dpi/final_report.py20
-rw-r--r--benchmarks/playbooks/result_transform/final_report.py25
-rwxr-xr-xbenchmarks/playbooks/result_transform/fio/fio_result_transform.py50
-rw-r--r--benchmarks/playbooks/result_transform/iperf/iperf_transform.py29
-rw-r--r--benchmarks/playbooks/result_transform/ramspd/ramspd_transform.py46
-rw-r--r--benchmarks/playbooks/result_transform/ssl/ssl_transform.py58
-rw-r--r--benchmarks/playbooks/result_transform/ubench_transform.py34
-rw-r--r--benchmarks/playbooks/ssl.yaml104
-rw-r--r--benchmarks/playbooks/sys_info_pbook.yaml47
-rw-r--r--benchmarks/playbooks/sys_proxy_pbook.yaml53
-rw-r--r--benchmarks/playbooks/whetstone.yaml117
25 files changed, 1408 insertions, 76 deletions
diff --git a/benchmarks/fio_jobs/test_job b/benchmarks/fio_jobs/test_job
new file mode 100644
index 00000000..6817abca
--- /dev/null
+++ b/benchmarks/fio_jobs/test_job
@@ -0,0 +1,13 @@
+[global]
+
+runtime= 600
+ioengine=libaio
+iodepth=2
+direct=1
+bs=4k
+rw=randrw
+
+[job1]
+size=5G
+
+
diff --git a/benchmarks/playbooks/cachebench.yaml b/benchmarks/playbooks/cachebench.yaml
index d0e04140..ebd0e172 100644
--- a/benchmarks/playbooks/cachebench.yaml
+++ b/benchmarks/playbooks/cachebench.yaml
@@ -1,5 +1,5 @@
- - hosts: demo1
+ - hosts: "{{ roles }}"
tasks:
- name: clean
@@ -33,6 +33,6 @@
shell: (cd /root/results/; find . -maxdepth 1 -type f) | cut -d'/' -f2
register: files_to_copy
- name: copy results
- fetch: src=/root/results/{{item}} dest={{Dest_dir}}/cachebench
+ fetch: src=/root/results/{{item}} dest={{workingdir}}/{{Dest_dir}}/cachebench
with_items: files_to_copy.stdout_lines
diff --git a/benchmarks/playbooks/dhrystone.yaml b/benchmarks/playbooks/dhrystone.yaml
index d0e5f20d..82b24dd1 100644
--- a/benchmarks/playbooks/dhrystone.yaml
+++ b/benchmarks/playbooks/dhrystone.yaml
@@ -1,31 +1,107 @@
-
- - hosts: demo1
+ - hosts: 127.0.0.1
+ connection: local
+ tasks:
+ - name: making dhrystone directory
+ file: path={{workingdir}}/{{Dest_dir}}/dhrystone/dhrystone_temp state=directory
+ - name: making temporary dhrystone directory
+ file: path={{workingdir}}/{{Dest_dir}}/dhrystone/dhrystone_temp state=directory
+ - hosts: "{{role}}"
+ become: yes
+ remote_user: "{{username}}"
tasks:
- - name: cleaning
- file: path=/root/tempT state=absent
- - name: cleaning results
- file: path=/root/results state=absent
- - name: Installing UnixBench dependencies
- shell: yum install git gcc patch perl-Time-HiRes -y
+ - name: checking_home directory
+ shell: sudo echo $HOME
+ register: home_dir
+
+ - name: cleaning tempT
+ shell: sudo rm -rf $HOME/tempT
+
+ - name: cleaning_qtip_result
+ shell: sudo rm -rf $HOME/qtip_result
+
+ - name: make directory
+ shell: sudo mkdir $HOME/qtip_result
+
+ - include: ./sys_proxy_pbook.yaml
+
+ - include: ./sys_info_pbook.yaml
+ vars:
+ network: false
+
+ - name: Installing UnixBench dependencies if CentOS
+ shell: sudo yum install git gcc patch perl-Time-HiRes -y
+ when: ansible_os_family == "RedHat"
+
+ - name: Installing UnixBench dependencies if Ubuntu
+ shell: sudo apt-get install git gcc patch perl -y
+ when: ansible_os_family == "Debian"
+
+ - include: ./git_proxy_pbook.yaml
+
- name: Clone unixbench
- shell: git clone https://github.com/kdlucas/byte-unixbench.git /root/tempT
+ shell: git clone https://github.com/kdlucas/byte-unixbench.git $HOME/tempT
+
- name: make
- shell: make --directory /root/tempT/UnixBench/
+ shell: sudo make --directory $HOME/tempT/UnixBench/
+
- name: downloading_patch
- shell: cd /root/tempT/UnixBench/ && wget https://www.dropbox.com/s/11z85gfu0trkhus/fix-limitation.patch
+ shell: cd $HOME/tempT/UnixBench/ && sudo wget https://www.dropbox.com/s/11z85gfu0trkhus/fix-limitation.patch
+
- name: applying_patch
- shell: cd /root/tempT/UnixBench/ && patch Run fix-limitation.patch
+ shell: cd $HOME/tempT/UnixBench/ && sudo patch Run fix-limitation.patch
+
- name: Run dhrystone
- shell: cd /root/tempT/UnixBench/&&./Run -v dhrystone
+ shell: cd $HOME/tempT/UnixBench/&& sudo ./Run -v dhrystone
+
+ - name: collecting and transforming result script copy
+ copy: src=./result_transform/ubench_transform.py dest={{home_dir.stdout}}/qtip_result/
+
+ - name: transforming result
+ shell: cd $HOME/qtip_result/ && sudo python ubench_transform.py
+ - name: copying consolidated report script
+ copy: src=./result_transform/final_report.py dest={{home_dir.stdout}}/qtip_result/
+
+ - name: making consolidated report
+ shell: cd $HOME/qtip_result && sudo python final_report.py Dhrystone {{fname}}
+
- name: making directory
- file: path=/root/results state=directory
+ file: path={{home_dir.stdout}}/qtip_result/log state=directory
+
- name: copying result to temp directory
- shell: cp -r /root/tempT/UnixBench/results/* /root/results/
+ shell: sudo cp -r $HOME/tempT/UnixBench/results/* $HOME/qtip_result/log/
+
- name: registering files
- shell: (cd /root/results/; find . -maxdepth 1 -type f) | cut -d'/' -f2
+ shell: (cd $HOME/qtip_result/; find . -maxdepth 1 -name "*.json") | cut -d'/' -f2
register: files_to_copy
+
- name: copy results
- fetch: src=/root/results/{{item}} dest={{Dest_dir}}/dhrystone
- with_items: files_to_copy.stdout_lines
+ fetch: src={{home_dir.stdout}}/qtip_result/{{item}} dest={{workingdir}}/{{Dest_dir}}/dhrystone/dhrystone_temp
+ with_items: files_to_copy.stdout_lines
+ - name: registering log files
+ shell: (cd $HOME/qtip_result/log/; find . -maxdepth 1 -name "*.log") | cut -d'/' -f2
+ register: copy_log_results
+
+ - name: copying log results
+ fetch: src={{home_dir.stdout}}/qtip_result/log/{{item}} dest={{workingdir}}/{{Dest_dir}}/dhrystone/dhrystone_temp
+ with_items: copy_log_results.stdout_lines
+
+ - name: cleaning tempT
+ shell: sudo rm -rf $HOME/tempT
+
+ - name: cleaning_qtip_result
+ shell: sudo rm -rf $HOME/qtip_result
+
+
+ - hosts: 127.0.0.1
+ connection: local
+ tasks:
+ - name: extracting_json
+ shell: ( find {{workingdir}}/{{Dest_dir}}/dhrystone/dhrystone_temp/ -name "*.json" | xargs cp -t {{workingdir}}/{{Dest_dir}}/dhrystone/)
+ - name: making_logs_folder
+ shell: mkdir -p {{workingdir}}/{{Dest_dir}}/dhrystone/logs
+ - name: extracting_log
+ shell: ( find {{workingdir}}/{{Dest_dir}}/dhrystone/dhrystone_temp/ -name "*.log" | xargs cp -t {{workingdir}}/{{Dest_dir}}/dhrystone/logs)
+ - name: removing dhrystone_temp
+ shell: rm -rf {{workingdir}}/{{Dest_dir}}/dhrystone/dhrystone_temp
diff --git a/benchmarks/playbooks/dpi.yaml b/benchmarks/playbooks/dpi.yaml
new file mode 100644
index 00000000..f4e6de8d
--- /dev/null
+++ b/benchmarks/playbooks/dpi.yaml
@@ -0,0 +1,110 @@
+ - hosts: 127.0.0.1
+ connection: local
+ tasks:
+ - name: making dpi directory
+ file: path={{workingdir}}/{{Dest_dir}}/dpi state=directory
+ - name: making temporary whetstone directory
+ file: path={{workingdir}}/{{Dest_dir}}/dpi/dpi_temp state=directory
+
+ - hosts: "{{role}}"
+ become: yes
+ remote_user: "{{username}}"
+ tasks:
+ - name: echo
+ shell: echo $USER
+
+ - name: checking_home directory
+ shell: echo $HOME
+ register: home_dir
+
+ - name: cleaning
+ shell: sudo rm -rf $HOME/tempD
+
+ - name: cleaning previous results
+ shell: sudo rm -rf $HOME/qtip_result
+
+ - name: make qtip_result
+ shell: sudo mkdir $HOME/qtip_result
+
+ - include: ./sys_proxy_pbook.yaml
+
+ - include: ./sys_info_pbook.yaml
+ vars:
+ network: false
+
+ - name: Installing nDPI dependencies if CentOS
+ shell: sudo yum install git gcc patch perl-Time-HiRes autofconf automake libpcap-devel libtool -y
+ when: ansible_os_family == "RedHat"
+
+ - name: Installing nDPI dependcies if Ubuntu
+ shell: sudo apt-get install git gcc patch autoconf automake libpcap-dev libtool -y
+ when: ansible_os_family == "Debian"
+
+ - name: making nDPI temporary directory
+ shell: sudo mkdir $HOME/tempD
+
+ - include: ./git_proxy_pbook.yaml
+
+ - name: Clone nDPI
+ shell: cd $HOME/tempD && git clone https://github.com/ntop/nDPI.git
+
+ - name: autogen
+ shell: cd $HOME/tempD/nDPI && sudo ./autogen.sh
+
+ - name: configure
+ shell: cd $HOME/tempD/nDPI && sudo ./configure
+
+ - name: make
+ shell: cd $HOME/tempD/nDPI && sudo make
+
+ - name: Fetching Test_pcap file
+ shell: cd $HOME/tempD/nDPI/example && wget http://artifacts.opnfv.org/qtip/utilities/test.pcap
+
+ - name: fetch Averaging script
+ copy: src=./result_transform/dpi/dpi_average.sh dest={{home_dir.stdout}}/tempD/nDPI/example mode=777
+
+ - name: Run nDPI benchmark
+ shell: cd $HOME/tempD/nDPI/example && sudo ./dpi_average.sh
+
+ - name: copy result to temp_direc
+ shell: sudo cp $HOME/tempD/nDPI/example/dpi_dump.txt $HOME/qtip_result
+
+ - name: fetch dpi result transform script
+ copy: src=./result_transform/dpi/dpi_transform.py dest={{home_dir.stdout}}/qtip_result
+
+ - name: Transforming results
+ shell: cd $HOME/qtip_result && sudo python dpi_transform.py
+
+ - name: copy report formation script
+ copy: src=./result_transform/final_report.py dest={{home_dir.stdout}}/qtip_result
+
+ - name: consolidating report
+ shell: cd $HOME/qtip_result && sudo python final_report.py DPI {{fname}}
+
+ - name: registering files
+ shell: (cd $HOME/qtip_result/; find . -maxdepth 1 -name "*.json") | cut -d'/' -f2
+ register: files_to_copy
+
+ - name: copy results
+ fetch: src={{home_dir.stdout}}/qtip_result/{{item}} dest={{workingdir}}/{{Dest_dir}}/dpi/dpi_temp
+ with_items: files_to_copy.stdout_lines
+
+ - name: registering log files
+ shell: (cd $HOME/qtip_result/; find . -maxdepth 1 -name "*.log") | cut -d'/' -f2
+ register: copy_log_results
+
+ - name: copying log results
+ fetch: src={{home_dir.stdout}}/qtip_result/{{item}} dest={{workingdir}}/{{Dest_dir}}/dpi/dpi_temp
+ with_items: copy_log_results.stdout_lines
+
+ - hosts: 127.0.0.1
+ connection: local
+ tasks:
+ - name: extracting_json
+ shell: ( find {{workingdir}}/{{Dest_dir}}/dpi/dpi_temp/ -name "*.json" | xargs cp -t {{workingdir}}/{{Dest_dir}}/dpi/)
+ - name: making_logs_folder
+ shell: mkdir -p {{workingdir}}/{{Dest_dir}}/dpi/logs
+ - name: extracting_log
+ shell: ( find {{workingdir}}/{{Dest_dir}}/dpi/dpi_temp/ -name "*.log" | xargs cp -t {{workingdir}}/{{Dest_dir}}/dpi/logs)
+ - name: removing dpi_temp
+ shell: rm -rf {{workingdir}}/{{Dest_dir}}/dpi/dpi_temp
diff --git a/benchmarks/playbooks/fio.yaml b/benchmarks/playbooks/fio.yaml
new file mode 100644
index 00000000..3de237f2
--- /dev/null
+++ b/benchmarks/playbooks/fio.yaml
@@ -0,0 +1,96 @@
+ - hosts: 127.0.0.1
+ connection: local
+ tasks:
+ - name: making fio directory
+ file: path={{workingdir}}/{{Dest_dir}}/fio state=directory
+ - name: making temporary fio directory
+ file: path={{workingdir}}/{{Dest_dir}}/fio/fio_temp state=directory
+
+
+ - hosts: "{{role}}"
+ become: yes
+ remote_user: "{{username}}"
+ tasks:
+ - name: checking_home directory
+ shell: echo $HOME
+ register: home_dir
+
+ - name: cleaning
+ shell: sudo rm -rf $HOME/fio
+
+ - name: cleaning previous results
+ shell: sudo rm -rf $HOME/qtip_result
+
+ - name: making fio temporary directory
+ shell: sudo mkdir $HOME/fio
+
+ - name: making results temporary directory
+ shell: sudo mkdir $HOME/qtip_result
+
+ - include: ./sys_proxy_pbook.yaml
+
+ - include: ./sys_info_pbook.yaml
+ vars:
+ network: false
+
+ - name: Installing fio dependencies when CentOS
+ shell: sudo yum install wget gcc libaio-devel -y
+ when: ansible_os_family == "RedHat"
+
+ - name: Installing fio dependencies when Ubuntu
+ shell: sudo apt-get install wget gcc libaio-dev -y
+ when: ansible_os_family == "Debian"
+
+ - name: Fetching fio
+ shell: cd $HOME/fio/ && wget http://freecode.com/urls/3aa21b8c106cab742bf1f20d60629e3f -O fio.tar.gz
+ - name: Untar fio
+ shell: cd $HOME/fio/ && sudo tar -zxvf fio.tar.gz
+ - name: configure
+ shell: cd $HOME/fio/fio-2.1.10 && sudo ./configure && sudo make
+
+ - name: Fetching fio job
+ copy: src=./../fio_jobs/test_job dest={{home_dir.stdout}}/fio/fio-2.1.10/
+
+ - name: Benchmarking block storage through fio
+ shell: cd $HOME/fio/fio-2.1.10 && sudo ./fio --output-format=json --output=$HOME/qtip_result/fio_result.json test_job
+
+ - name: Fetching result transformation script
+ copy: src=./result_transform/fio/fio_result_transform.py dest={{home_dir.stdout}}/qtip_result
+
+ - name: Transforming result
+ shell: cd $HOME/qtip_result && sudo python fio_result_transform.py
+
+ - name: copy report formation script
+ copy: src=./result_transform/final_report.py dest={{home_dir.stdout}}/qtip_result
+
+ - name: consolidating report
+ shell: cd $HOME/qtip_result && sudo python final_report.py FIO {{fname}}
+
+ - name: registering files
+ shell: (cd $HOME/qtip_result/; find . -maxdepth 1 -name "*.json") | cut -d'/' -f2
+ register: files_to_copy
+
+ - name: copy results
+ fetch: src={{home_dir.stdout}}/qtip_result/{{item}} dest={{workingdir}}/{{Dest_dir}}/fio/fio_temp
+ with_items: files_to_copy.stdout_lines
+
+ - name: registering log files
+ shell: (cd $HOME/qtip_result/; find . -maxdepth 1 -name "*.log") | cut -d'/' -f2
+ register: copy_log_results
+
+ - name: copying log results
+ fetch: src={{home_dir.stdout}}/qtip_result/{{item}} dest={{workingdir}}/{{Dest_dir}}/fio/fio_temp
+ with_items: copy_log_results.stdout_lines
+
+ - hosts: 127.0.0.1
+ connection: local
+ tasks:
+ - name: extracting_json
+ shell: ( find {{workingdir}}/{{Dest_dir}}/fio/fio_temp/ -name "*.json" | xargs cp -t {{workingdir}}/{{Dest_dir}}/fio/)
+ - name: making_logs_folder
+ shell: mkdir -p {{workingdir}}/{{Dest_dir}}/fio/logs
+ - name: extracting_log
+ shell: ( find {{workingdir}}/{{Dest_dir}}/fio/fio_temp/ -name "*.log" | xargs cp -t {{workingdir}}/{{Dest_dir}}/fio/logs)
+ - name: removing fio_log
+ shell: rm -rf {{workingdir}}/{{Dest_dir}}/fio/fio_temp
+
diff --git a/benchmarks/playbooks/git_proxy_pbook.yaml b/benchmarks/playbooks/git_proxy_pbook.yaml
new file mode 100644
index 00000000..6d155a76
--- /dev/null
+++ b/benchmarks/playbooks/git_proxy_pbook.yaml
@@ -0,0 +1,12 @@
+
+#git
+- name: set git proxy(http)
+ shell: "git config --global http.proxy {{ http_proxy }}"
+ when: http_proxy is defined
+ ignore_errors: yes
+
+- name: set git proxy(https)
+ shell: "git config --global https.proxy {{https_proxy}}"
+ when: https_proxy is defined
+ ignore_errors: yes
+
diff --git a/benchmarks/playbooks/info_script/info_collect.py b/benchmarks/playbooks/info_script/info_collect.py
new file mode 100644
index 00000000..4daed318
--- /dev/null
+++ b/benchmarks/playbooks/info_script/info_collect.py
@@ -0,0 +1,87 @@
+import os
+import pickle
+import json
+import sys
+
+os.system('inxi -b -c0 -n > $PWD/est_2')
+est_ob = open("est_2", "r+")
+est_ob2 = open("est_1", "w+")
+in_string = est_ob.read().replace('\n', ' ')
+cpu_idle = float(os.popen("""top -bn1 | grep "Cpu(s)" | awk '{print $8}'""").read().rstrip())
+cpu_usage = 100 - cpu_idle
+est_ob2.write(in_string)
+est_ob.close()
+est_ob2.close()
+
+Info_dict = {}
+inxi_host = os.popen("""cat $PWD/est_1 | grep -o -P '(?<=Host:).*(?=Kernel)' """).read().lstrip().rstrip()
+inxi_mem = os.popen("""cat $PWD/est_1 | grep -o -P '(?<=Memory:).*(?=MB)' """).read().lstrip().rstrip() + "MB"
+inxi_cpu = os.popen("""cat $PWD/est_1 | grep -o -P '(?<=CPU).*(?=speed)' | cut -f2 -d':'""").read().lstrip().rstrip()
+inxi_distro = os.popen(""" cat $PWD/est_1 | grep -o -P '(?<=Distro:).*(?=Machine:)' """).read().rstrip().lstrip()
+inxi_kernel = os.popen(""" cat $PWD/est_1 | grep -o -P '(?<=Kernel:).*(?=Console:)' """).read().rstrip().lstrip()
+inxi_HD = os.popen(""" cat $PWD/est_1 | grep -o -P '(?<=HDD Total Size:).*(?=Info:)' """).read().rstrip().lstrip()
+inxi_product = os.popen(""" cat $PWD/est_1 | grep -o -P '(?<=product:).*(?=Mobo:)' """).read().rstrip().lstrip()
+
+Info_dict['1_Hostname'] = inxi_host
+Info_dict['2_Product'] = inxi_product
+Info_dict['3_OS Distribution'] = inxi_distro
+Info_dict['4_Kernel'] = inxi_kernel
+Info_dict['5_CPU'] = inxi_cpu
+Info_dict['6_CPU_Usage'] = str(round(cpu_usage, 3)) + '%'
+Info_dict['7_Memory Usage'] = inxi_mem
+Info_dict['8_Disk usage'] = inxi_HD
+network_flag = str(sys.argv[1]).rstrip()
+
+if (network_flag == 'n'):
+
+ Info_dict['9_Network_Interfaces'] = {}
+ tem_2 = """ cat $PWD/est_1 | grep -o -P '(?<=Network:).*(?=Info:)'"""
+ print os.system(tem_2 + ' > Hello')
+ i = int(os.popen(tem_2 + " | grep -o 'Card' | wc -l ").read())
+ print i
+
+ for x in range(1, i + 1):
+ tem = """ cat $PWD/est_1 | grep -o -P '(?<=Card-""" + str(x) + """:).*(?=Card-""" + str(x + 1) + """)'"""
+ if i == 1:
+ tem = """ cat $PWD/est_1 | grep -o -P '(?<=Network:).*(?=Info:)'"""
+ inxi_card_1 = ((os.popen(tem + " | grep -o -P '(?<=Card:).*(?=Drives:)'|sed 's/ *driver:.*//'").read().rstrip().lstrip()))
+ print inxi_card_1
+ Info_dict['9_Network_Interfaces']['Interface_' + str(x)] = {}
+ Info_dict['9_Network_Interfaces']['Interface_' + str(x)]['1_Network_Card'] = inxi_card_1
+ inxi_card_2 = ((os.popen(tem + "| grep -o -P '(?<=Card:).*(?=Drives:)'|sed -e 's/^.*IF: //'").read())).rstrip().lstrip()
+ Info_dict['9_Network_Interfaces']['Interface_' + str(x)]['2_Interface_info'] = inxi_card_2
+ elif x < (i):
+ print "two"
+ inxi_card_1 = ((os.popen(tem + "| sed 's/ *driver:.*//'").read().rstrip().lstrip()))
+ Info_dict['9_Network_Interfaces']['Interface_' + str(x)] = {}
+ Info_dict['9_Network_Interfaces']['Interface_' + str(x)]['1_Network_Card'] = inxi_card_1
+ inxi_card_2 = ((os.popen(tem + "|sed -e 's/^.*IF: //'").read())).rstrip().lstrip()
+ Info_dict['9_Network_Interfaces']['Interface_' + str(x)]['2_Interface_info'] = inxi_card_2
+ elif x == i:
+ print "Three"
+ Info_dict['9_Network_Interfaces']['Interface_' + str(x)] = {}
+ inxi_card_1 = ((os.popen(""" cat $PWD/est_1 | grep -o -P '(?<=Card-""" + str(x) + """:).*(?=Drives:)'| sed 's/ *driver:.*//' """).read().rstrip().lstrip()))
+ Info_dict['9_Network_Interfaces']['Interface_' + str(x)]['1_Network_Card'] = inxi_card_1
+ inxi_card_2 = ((os.popen(""" cat $PWD/est_1 | grep -o -P '(?<=Card-""" + str(x) + """:).*(?=Drives:)'| sed -e 's/^.*IF: //' """).read().rstrip().lstrip()))
+ Info_dict['9_Network_Interfaces']['Interface_' + str(x)]['2_Interface_info'] = inxi_card_2
+ else:
+ print "No network cards"
+ os.system("bwm-ng -o plain -c 1 | grep -v '=' | grep -v 'iface' | grep -v '-' > bwm_dump")
+ n_interface = int(os.popen(" cat bwm_dump | grep -v 'total' | wc -l ").read().rstrip())
+ interface = {}
+ for x in range(1, n_interface):
+ interface_name = os.popen(" cat bwm_dump | awk 'NR==" + str(x) + "' | awk '{print $1}' ").read().rstrip().replace(':', '')
+ interface[str(interface_name)] = {}
+ interface[str(interface_name)]['Rx (KB/s)'] = os.popen(" cat bwm_dump | awk 'NR==" + str(x) + "' | awk '{print $2}' ").read().rstrip()
+ interface[str(interface_name)]['Tx (KB/s)'] = os.popen(" cat bwm_dump | awk 'NR==" + str(x) + "' | awk '{print $4}' ").read().rstrip()
+ interface[str(interface_name)]['Total (KB/s)'] = os.popen(" cat bwm_dump | awk 'NR== " + str(x) + "' | awk '{print $6}' ").read().rstrip()
+
+ Info_dict['10.Interface I/O'] = interface
+
+print Info_dict
+
+with open('./sys_info_temp', 'w+')as out_info:
+ pickle.dump(Info_dict, out_info)
+
+with open('temp', 'w+') as result_json:
+ json.dump(Info_dict, result_json, indent=4, sort_keys=True)
diff --git a/benchmarks/playbooks/iperf.yaml b/benchmarks/playbooks/iperf.yaml
new file mode 100644
index 00000000..de1e5a4d
--- /dev/null
+++ b/benchmarks/playbooks/iperf.yaml
@@ -0,0 +1,150 @@
+ - 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_proxy_pbook.yaml
+
+ - 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
diff --git a/benchmarks/playbooks/netperf.yaml b/benchmarks/playbooks/netperf.yaml
new file mode 100644
index 00000000..30f4b574
--- /dev/null
+++ b/benchmarks/playbooks/netperf.yaml
@@ -0,0 +1,79 @@
+ - hosts: 127.0.0.1
+ connection: local
+ tasks:
+
+ - name: getting directory
+ shell: echo $PWD
+ register: qtip_dir
+ - name: making Netperf directory
+ file: path={{workingdir}}/{{Dest_dir}}/netperf state=directory
+ - name: making temporary netperf directory
+ file: path={{workingdir}}/{{Dest_dir}}/netperf/netperf_temp state=directory
+
+
+ - hosts: "{{role}}"
+ become: yes
+ remote_user: "{{username}}"
+
+ tasks:
+ - name: Rolename
+ set_fact:
+ rolename: "{{role}}"
+ when: role is defined
+
+ - name: Get Hostname
+ shell: echo $HOSTNAME
+ register: hostID
+ - name: checking_home directory
+ shell: echo $HOME
+ register: home_dir
+ - name: cleaning
+ shell: rm -rf $HOME/netperf
+ - name: cleaning previous results
+ shell: rm -rf $HOME/qtip_result
+ - name: making netperf temporary directory
+ shell: mkdir $HOME/netperf
+ - name: making results temporary directory
+ shell: mkdir $HOME/qtip_result
+
+ - name: Fetching netperf
+ shell: wget ftp://ftp.netperf.org/netperf/netperf-2.7.0.tar.gz
+ when: ansible_os_family == "RedHat"
+ - name: Extracting Netperf
+ shell: tar -xvf netperf-2.7.0.tar.gz
+ - name: configuring netperf
+ shell: cd $HOME/netperf-2.7.0 && ./configure
+ - name: Making Netperf
+ shell: cd $HOME/netperf-2.7.0 && make
+ - name: Installing Netperf
+ shell: cd $HOME/netperf-2.7.0 && make install
+
+ - name: Running netperf on server
+ shell: /usr/local/bin/netserver -p 4000
+ when: rolename == "1-server"
+
+ - name: Running netperf on Host
+ shell: /usr/local/bin/netperf -H {{privateip1}} -p 4000 -l {{duration}} -t {{teststream}} -fG >> ./qtip_result/server{{hostID.stdout}}-{{item}}.json
+ ignore_errors: yes
+ with_items:
+ - "{{ip1}}"
+ 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
+ - name: copy results
+ fetch: src={{home_dir.stdout}}/qtip_result/{{item}} dest={{workingdir}}/{{Dest_dir}}/netperf/netperf_temp
+ with_items: files_to_copy.stdout_lines
+ - 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}}/netperf/netperf_temp/ -name "*.json" | xargs cp -t {{workingdir}}/{{Dest_dir}}/netperf/)
+ when: rolename == "2-host"
+ - name: removing netperf_temp
+ shell: rm -rf {{workingdir}}/{{Dest_dir}}/netperf/netperf_temp \ No newline at end of file
diff --git a/benchmarks/playbooks/pktgen.yaml b/benchmarks/playbooks/pktgen.yaml
new file mode 100644
index 00000000..466fb8e9
--- /dev/null
+++ b/benchmarks/playbooks/pktgen.yaml
@@ -0,0 +1,38 @@
+ - hosts: 127.0.0.1
+ connection: local
+ tasks:
+
+ - name: getting directory
+ shell: echo $PWD
+ register: qtip_dir
+ - name: making pktgen directory
+ file: path={{workingdir}}/{{Dest_dir}}/pktgen state=directory
+ - name: making temporary pktgen directory
+ file: path={{workingdir}}/{{Dest_dir}}/pktgen/pktgen_temp state=directory
+
+
+ - hosts: "{{role}}"
+ tasks:
+ - name: Rolename
+ set_fact:
+ rolename: "{{role}}"
+ when: role is defined
+
+ - name: IPTABLE Setup
+ shell: iptables -F
+ when: rolename == '1-server'
+ - name: iptables
+ shell: sudo iptables -A INPUT -p udp --dport 1000 -j DROP
+ when: rolename == '1-server'
+ - name: run pktgen
+ shell: bash pktgen.sh {{privateip1}} 1 {{packetsize}} {{duration}} >> .json
+ when: rolename == '2-host'
+ - hosts: "{{role}}"
+ tasks:
+ - name: Rolename
+ set_fact:
+ rolename: "{{role}}"
+ when: role is defined
+ - name: Get server packetsize
+ shell: iptables -L -vnx >> pktgenServer{{privateip1}}.txt
+ when: rolename == '1-server' \ No newline at end of file
diff --git a/benchmarks/playbooks/ramspeed.yaml b/benchmarks/playbooks/ramspeed.yaml
new file mode 100644
index 00000000..096c7320
--- /dev/null
+++ b/benchmarks/playbooks/ramspeed.yaml
@@ -0,0 +1,100 @@
+ - hosts: 127.0.0.1
+ connection: local
+ tasks:
+ - name: making ramspeed directory
+ file: path={{workingdir}}/{{Dest_dir}}/ramspeed state=directory
+ - name: making temporary ramspeed directory
+ file: path={{workingdir}}/{{Dest_dir}}/ramspeed/ramspeed_temp state=directory
+
+
+ - hosts: "{{role}}"
+ become: yes
+ remote_user: "{{username}}"
+ tasks:
+ - name: checking_home directory
+ shell: echo $HOME
+ register: home_dir
+
+ - name: cleaning
+ shell: sudo rm -rf $HOME/ramspeed
+
+ - name: cleaning previous results
+ shell: sudo rm -rf $HOME/qtip_result
+
+ - name: making ramspeed temporary directory
+ shell: sudo mkdir $HOME/ramspeed
+
+ - name: making results temporary directory
+ shell: sudo mkdir $HOME/qtip_result
+
+ - include: ./sys_proxy_pbook.yaml
+
+ - include: ./sys_info_pbook.yaml
+ vars:
+ network: false
+
+ - name: Installing RAM_Speed dependencies when CentOS
+ shell: sudo yum install wget gcc -y
+ when: ansible_os_family == "RedHat"
+
+ - name: Installing RAM_Speed dependencies when Ubuntu
+ shell: sudo apt-get install wget gcc -y
+ when: ansible_os_family == "Debian"
+
+ - name: make dummy file
+ shell: sudo touch $HOME/ramspeed/ramspeed.tar.gz
+
+ - name: Fetching RAM_Speed
+ shell: cd $HOME/ramspeed/ && sudo wget -O ramspeed.tar.gz https://docs.google.com/uc?id=0B92Bp5LZTM7gRFctalZLMktTNDQ
+
+ - name: Untar RAM_SPeed
+ shell: cd $HOME/ramspeed/ && sudo tar -zxvf ramspeed.tar.gz
+
+ - name: configure
+ shell: cd $HOME/ramspeed/ramsmp-3.5.0 && ./build.sh
+
+ - name: Benchmarking IntMem Bandwidth
+ shell: cd $HOME/ramspeed/ramsmp-3.5.0 && ./ramsmp -b 3 -l 5 -p 1 >> $HOME/qtip_result/Intmem
+
+ - name: Benchmarking FloatMem Bandwidth
+ shell: cd $HOME/ramspeed/ramsmp-3.5.0 && ./ramsmp -b 6 -l 5 -p 1 >> $HOME/qtip_result/Floatmem
+
+ - name: Fetching result transformation script
+ copy: src=./result_transform/ramspd/ramspd_transform.py dest={{home_dir.stdout}}/qtip_result
+
+ - name: Transforming result
+ shell: cd $HOME/qtip_result && sudo python ramspd_transform.py
+
+ - name: copy report formation script
+ copy: src=./result_transform/final_report.py dest={{home_dir.stdout}}/qtip_result
+
+ - name: consolidating report
+ shell: cd $HOME/qtip_result && sudo python final_report.py RamSpeed {{fname}}
+
+ - name: registering files
+ shell: (cd $HOME/qtip_result/; find . -maxdepth 1 -name "*.json") | cut -d'/' -f2
+ register: files_to_copy
+
+ - name: copy results
+ fetch: src={{home_dir.stdout}}/qtip_result/{{item}} dest={{workingdir}}/{{Dest_dir}}/ramspeed/ramspeed_temp
+ with_items: files_to_copy.stdout_lines
+
+ - name: registering log files
+ shell: (cd $HOME/qtip_result/; find . -maxdepth 1 -name "*.log") | cut -d'/' -f2
+ register: copy_log_results
+
+ - name: copying log results
+ fetch: src={{home_dir.stdout}}/qtip_result/{{item}} dest={{workingdir}}/{{Dest_dir}}/ramspeed/ramspeed_temp
+ with_items: copy_log_results.stdout_lines
+
+ - hosts: 127.0.0.1
+ connection: local
+ tasks:
+ - name: extracting_json
+ shell: ( find {{workingdir}}/{{Dest_dir}}/ramspeed/ramspeed_temp/ -name "*.json" | xargs cp -t {{workingdir}}/{{Dest_dir}}/ramspeed/)
+ - name: making_logs_folder
+ shell: mkdir -p {{workingdir}}/{{Dest_dir}}/ramspeed/logs
+ - name: extracting_log
+ shell: ( find {{workingdir}}/{{Dest_dir}}/ramspeed/ramspeed_temp/ -name "*.log" | xargs cp -t {{workingdir}}/{{Dest_dir}}/ramspeed/logs)
+ - name: removing ramspeed_log
+ shell: rm -rf {{workingdir}}/{{Dest_dir}}/ramspeed/ramspeed_temp
diff --git a/benchmarks/playbooks/ramspeedbench.yaml b/benchmarks/playbooks/ramspeedbench.yaml
deleted file mode 100644
index 37ea91a8..00000000
--- a/benchmarks/playbooks/ramspeedbench.yaml
+++ /dev/null
@@ -1,38 +0,0 @@
-
- - hosts: demo1
-
- tasks:
- - name: clean
- shell: rm -rf /usr/bin/phoronix-test-suite
- shell: rm -rf /usr/share/doc/phoronix-test-suite/
- shell: rm -rf /usr/share/phoronix-test-suite
- shell: rm -rf /root/photmp/
- - name: clean previous results
- file: path=/root/results path=absent
- - name: make direc
- file: path=/root/photmp/ state=directory
- - name: Fetch Phornonix
- shell: cd /root/photmp/ && wget https://www.dropbox.com/s/5kks513ozxy7vvs/phoronix-suite.tar.gz
- - name: unarchive Phoronix
- shell: cd /root/photmp/ && tar -zxvf phoronix-suite.tar.gz
- - name: Phornonix Dependencies
- shell: yum install php php-xml php-client php-process -y
- - name: Install Phornonix
- shell: cd /root/photmp/phoronix-test-suite-master/&&./install-sh
- - name: batchSetup
- shell: phoronix-test-suite batch-setup
- - name: install
- shell: phoronix-test-suite batch-install ramspeed
- - name: run
- shell: phoronix-test-suite batch-run ramspeed
- - name: making directory
- file: path=/root/results state=directory
- - name: copying result to temp directory
- shell: cp -r /var/lib/phoronix-test-suite/test-results/* /root/results/
- - name: registering files
- shell: (cd /root/results/; find . -maxdepth 1 -type f) | cut -d'/' -f2
- register: files_to_copy
- - name: copy results
- fetch: src=/root/results/{{item}} dest={{Dest_dir}}/dhrystone
- with_items: files_to_copy.stdout_lines
-
diff --git a/benchmarks/playbooks/result_transform/dpi/dpi_average.sh b/benchmarks/playbooks/result_transform/dpi/dpi_average.sh
new file mode 100644
index 00000000..405d3ff6
--- /dev/null
+++ b/benchmarks/playbooks/result_transform/dpi/dpi_average.sh
@@ -0,0 +1,14 @@
+#!/bin/bash
+
+COUNTER=0
+WDIR=$PWD
+while [ $COUNTER -lt 10 ]; do
+
+ echo $WDIR
+ $( ./ndpiReader -i test.pcap >> $WDIR/dpi_dump.txt )
+ let COUNTER=COUNTER+1
+ echo "Run number: $COUNTER"
+
+done
+
+
diff --git a/benchmarks/playbooks/result_transform/dpi/dpi_transform.py b/benchmarks/playbooks/result_transform/dpi/dpi_transform.py
new file mode 100644
index 00000000..622030cd
--- /dev/null
+++ b/benchmarks/playbooks/result_transform/dpi/dpi_transform.py
@@ -0,0 +1,48 @@
+import os
+import pickle
+import datetime
+
+sum_dpi_pps = float(0)
+sum_dpi_bps = float(0)
+
+for x in range(1, 11):
+ dpi_result_pps = float(
+ os.popen(
+ "cat $HOME/qtip_result/dpi_dump.txt | grep 'nDPI throughput:' | awk 'NR=='" +
+ str(x) +
+ " | awk '{print $3}'").read().lstrip())
+ dpi_result_bps = float(
+ os.popen(
+ "cat $HOME/qtip_result/dpi_dump.txt | grep 'nDPI throughput:' | awk 'NR=='" +
+ str(x) +
+ " | awk '{print $7}'").read().rstrip())
+
+ if (dpi_result_pps > 100):
+ dpi_result_pps = dpi_result_pps / 1000
+
+ if (dpi_result_bps > 100):
+ dpi_result_bps = dpi_result_bps / 1000
+
+ sum_dpi_pps += dpi_result_pps
+ sum_dpi_bps += dpi_result_bps
+
+dpi_result_pps = sum_dpi_pps / 10
+dpi_result_bps = sum_dpi_bps / 10
+
+host = os.popen("hostname").read().rstrip()
+log_time_stamp = str(datetime.datetime.utcnow().isoformat())
+
+os.popen(
+ "cat $HOME/qtip_result/dpi_dump.txt > $HOME/qtip_result/" +
+ host +
+ "-" +
+ log_time_stamp +
+ ".log")
+
+home_dir = str(os.popen("echo $HOME").read().rstrip())
+host = os.popen("echo $HOSTNAME")
+result = {}
+result['DPI_benchmark(M pps)'] = round(dpi_result_pps, 3)
+result['DPI_benchmark(Gb/s)'] = round(dpi_result_bps, 3)
+with open('./result_temp', 'w+') as result_file:
+ pickle.dump(result, result_file)
diff --git a/benchmarks/playbooks/result_transform/dpi/final_report.py b/benchmarks/playbooks/result_transform/dpi/final_report.py
new file mode 100644
index 00000000..be25daa8
--- /dev/null
+++ b/benchmarks/playbooks/result_transform/dpi/final_report.py
@@ -0,0 +1,20 @@
+import pickle
+import json
+import datetime
+import sys
+
+with open('/root/qtip_result/sys_info_temp', 'r') as sys_info_f:
+ sys_info_dict = pickle.load(sys_info_f)
+with open('/root/qtip_result/result_temp', 'r') as result_f:
+ result_dict = pickle.load(result_f)
+
+host_name = sys_info_dict['1_Hostname']
+benchmark_name = str(sys.argv[1])
+report_time_stamp = str(datetime.datetime.utcnow().isoformat())
+final_dict = {}
+final_dict['1 Time of Report'] = report_time_stamp
+final_dict['2 System Information'] = sys_info_dict
+final_dict['3 ' + benchmark_name + ' result'] = result_dict
+
+with open('/root/qtip_result/' + host_name + '-' + report_time_stamp + '.json', 'w+') as result_json:
+ json.dump(final_dict, result_json, indent=4, sort_keys=True)
diff --git a/benchmarks/playbooks/result_transform/final_report.py b/benchmarks/playbooks/result_transform/final_report.py
new file mode 100644
index 00000000..6a10c026
--- /dev/null
+++ b/benchmarks/playbooks/result_transform/final_report.py
@@ -0,0 +1,25 @@
+import pickle
+import json
+import datetime
+import os
+import sys
+
+home_dir = str((os.popen("echo $HOME").read().rstrip()))
+
+with open('./sys_info_temp', 'r') as sys_info_f:
+ sys_info_dict = pickle.load(sys_info_f)
+with open('./result_temp', 'r') as result_f:
+ result_dict = pickle.load(result_f)
+
+host_name = (os.popen("hostname").read().rstrip())
+benchmark_name = str(sys.argv[1])
+testcase_name = str(sys.argv[2])
+report_time_stamp = str(datetime.datetime.utcnow().isoformat())
+final_dict = {}
+final_dict['1 Testcase Name'] = testcase_name
+final_dict['2 Time of Report'] = report_time_stamp
+final_dict['3 System Information'] = sys_info_dict
+final_dict['4 ' + benchmark_name + ' result'] = result_dict
+
+with open('./' + host_name + '-' + report_time_stamp + '.json', 'w+') as result_json:
+ json.dump(final_dict, result_json, indent=4, sort_keys=True)
diff --git a/benchmarks/playbooks/result_transform/fio/fio_result_transform.py b/benchmarks/playbooks/result_transform/fio/fio_result_transform.py
new file mode 100755
index 00000000..9929aa18
--- /dev/null
+++ b/benchmarks/playbooks/result_transform/fio/fio_result_transform.py
@@ -0,0 +1,50 @@
+import json
+import pickle
+import os
+import datetime
+
+with open("fio_result.json") as fio_raw:
+ fio_data = json.load(fio_raw)
+
+r_iops = []
+r_io_bytes = []
+r_io_runtime = []
+r_lat = []
+w_iops = []
+w_io_bytes = []
+w_io_runtime = []
+w_lat = []
+
+total_jobs = len(fio_data["jobs"])
+
+for x in range(0, int(total_jobs)):
+ r_iops.append(fio_data["jobs"][x]["read"]["iops"])
+ r_io_bytes.append(fio_data["jobs"][x]["read"]["io_bytes"])
+ r_io_runtime.append(fio_data["jobs"][x]["read"]["runtime"])
+ r_lat.append(fio_data["jobs"][x]["read"]["lat"]["mean"])
+ w_iops.append(fio_data["jobs"][x]["write"]["iops"])
+ w_io_bytes.append(fio_data["jobs"][x]["write"]["io_bytes"])
+ w_io_runtime.append(fio_data["jobs"][x]["write"]["runtime"])
+ w_lat.append(fio_data["jobs"][x]["write"]["lat"]["mean"])
+
+FIO_result_dict = {}
+
+for x in range(0, total_jobs):
+ FIO_result_dict['Job_' + str(x)] = {}
+ FIO_result_dict['Job_' + str(x)]['read'] = {}
+ FIO_result_dict['Job_' + str(x)]['read']['Total_IO_Bytes'] = r_io_bytes[x]
+ FIO_result_dict['Job_' + str(x)]['read']['IO/sec'] = r_iops[x]
+ FIO_result_dict['Job_' + str(x)]['read']['IO_runtime (millisec)'] = r_io_runtime[x]
+ FIO_result_dict['Job_' + str(x)]['read']['mean_IO_latenchy (microsec)'] = r_lat[x]
+
+ FIO_result_dict['Job_' + str(x)]['write'] = {}
+ FIO_result_dict['Job_' + str(x)]['write']['Total_IO_Bytes'] = w_io_bytes[x]
+ FIO_result_dict['Job_' + str(x)]['write']['IO/sec'] = w_iops[x]
+ FIO_result_dict['Job_' + str(x)]['write']['IO_runtime (millisec)'] = w_io_runtime[x]
+ FIO_result_dict['Job_' + str(x)]['write']['mean_IO_latenchy (microsec)'] = w_lat[x]
+
+host_name = (os.popen("hostname").read().rstrip())
+report_time = str(datetime.datetime.utcnow().isoformat())
+os.system("mv fio_result.json " + str(host_name) + "-" + report_time + ".log")
+with open('./result_temp', 'w + ')as out_fio_result:
+ pickle.dump(FIO_result_dict, out_fio_result)
diff --git a/benchmarks/playbooks/result_transform/iperf/iperf_transform.py b/benchmarks/playbooks/result_transform/iperf/iperf_transform.py
new file mode 100644
index 00000000..8df5a79a
--- /dev/null
+++ b/benchmarks/playbooks/result_transform/iperf/iperf_transform.py
@@ -0,0 +1,29 @@
+import json
+import datetime
+import pickle
+with open('iperf_raw.json', 'r') as ifile:
+ raw_iperf_data = json.loads(ifile.read().rstrip())
+
+bits_sent = raw_iperf_data['end']['sum_sent']['bits_per_second']
+bits_received = raw_iperf_data['end']['sum_received']['bits_per_second']
+total_byte_sent = raw_iperf_data['end']['sum_sent']['bytes']
+total_byte_received = raw_iperf_data['end']['sum_received']['bytes']
+cpu_host_total_percent = raw_iperf_data['end']['cpu_utilization_percent']['host_total']
+cpu_remote_total_percent = raw_iperf_data['end']['cpu_utilization_percent']['remote_total']
+
+result = {}
+time_stamp = str(datetime.datetime.utcnow().isoformat())
+
+result['1. Version'] = raw_iperf_data['start']['version']
+result['2. Bandwidth'] = {}
+result['2. Bandwidth']['1. throughput Sender (b/s)'] = bits_sent
+result['2. Bandwidth']['2. throughput Received (b/s)'] = bits_received
+result['3. CPU'] = {}
+result['3. CPU']['1. CPU host total (%)'] = cpu_host_total_percent
+result['3. CPU']['2. CPU remote total (%)'] = cpu_remote_total_percent
+
+with open('iperf_raw-' + time_stamp + '.log', 'w+') as ofile:
+ ofile.write(json.dumps(raw_iperf_data))
+
+with open('./result_temp', 'w+') as result_file:
+ pickle.dump(result, result_file)
diff --git a/benchmarks/playbooks/result_transform/ramspd/ramspd_transform.py b/benchmarks/playbooks/result_transform/ramspd/ramspd_transform.py
new file mode 100644
index 00000000..c3f03dd0
--- /dev/null
+++ b/benchmarks/playbooks/result_transform/ramspd/ramspd_transform.py
@@ -0,0 +1,46 @@
+import os
+import pickle
+import datetime
+
+intmem_copy = os.popen("cat Intmem | grep 'BatchRun Copy' | awk '{print $4}'").read().rstrip()
+intmem_scale = os.popen("cat Intmem | grep 'BatchRun Scale' | awk '{print $4}'").read().rstrip()
+intmem_add = os.popen("cat Intmem | grep 'BatchRun Add' | awk '{print $4}'").read().rstrip()
+intmem_triad = os.popen("cat Intmem | grep 'BatchRun Triad' | awk '{print $4}'").read().rstrip()
+intmem_average = os.popen("cat Intmem | grep 'BatchRun AVERAGE' | awk '{print $4}'").read().rstrip()
+
+print intmem_copy
+print intmem_average
+
+floatmem_copy = os.popen("cat Floatmem | grep 'BatchRun Copy' | awk '{print $4}'").read().rstrip()
+floatmem_scale = os.popen("cat Floatmem | grep 'BatchRun Scale' | awk '{print $4}'").read().rstrip()
+floatmem_add = os.popen("cat Floatmem | grep 'BatchRun Add' | awk '{print $4}'").read().rstrip()
+floatmem_triad = os.popen("cat Floatmem | grep 'BatchRun Triad' | awk '{print $4}'").read().rstrip()
+floatmem_average = os.popen("cat Floatmem | grep 'BatchRun AVERAGE' | awk '{print $4}'").read().rstrip()
+
+print floatmem_copy
+print floatmem_average
+
+hostname = os.popen("hostname").read().rstrip()
+time_stamp = str(datetime.datetime.utcnow().isoformat())
+
+os.system("mv Intmem " + hostname + "-" + time_stamp + ".log")
+os.system("cp Floatmem >> " + hostname + "-" + time_stamp + ".log")
+
+result = {}
+
+result['1. INTmem bandwidth'] = {}
+result['1. INTmem bandwidth']['1. Copy (MB/s)'] = intmem_copy
+result['1. INTmem bandwidth']['2. Add (MB/s)'] = intmem_add
+result['1. INTmem bandwidth']['3. Scale (MB/s)'] = intmem_scale
+result['1. INTmem bandwidth']['4. Triad (MB/s)'] = intmem_triad
+result['1. INTmem bandwidth']['5. Average (MB/s)'] = intmem_average
+
+result['2. FLOATmem bandwidth'] = {}
+result['2. FLOATmem bandwidth']['1. Copy (MB/s)'] = floatmem_copy
+result['2. FLOATmem bandwidth']['2. Add (MB/s)'] = floatmem_add
+result['2. FLOATmem bandwidth']['3. Scale (MB/s)'] = floatmem_scale
+result['2. FLOATmem bandwidth']['4. Triad (MB/s)'] = floatmem_triad
+result['2. FLOATmem bandwidth']['5. Average (MB/s)'] = floatmem_average
+
+with open('./result_temp', 'w+') as result_file:
+ pickle.dump(result, result_file)
diff --git a/benchmarks/playbooks/result_transform/ssl/ssl_transform.py b/benchmarks/playbooks/result_transform/ssl/ssl_transform.py
new file mode 100644
index 00000000..029135ac
--- /dev/null
+++ b/benchmarks/playbooks/result_transform/ssl/ssl_transform.py
@@ -0,0 +1,58 @@
+import os
+import pickle
+import datetime
+
+openssl_version = os.popen("cat RSA_dump | head -1").read().rstrip()
+rsa_512_sps = os.popen(
+ "cat RSA_dump | grep '512 bits ' | awk '{print $6}' ").read().rstrip()
+rsa_512_vps = os.popen(
+ "cat RSA_dump | grep '512 bits ' | awk '{print $7}' ").read().rstrip()
+rsa_1024_sps = os.popen(
+ "cat RSA_dump | grep '1024 bits ' | awk '{print $6}' ").read().rstrip()
+rsa_1024_vps = os.popen(
+ "cat RSA_dump | grep '1024 bits ' | awk '{print $7}' ").read().rstrip()
+rsa_2048_sps = os.popen(
+ "cat RSA_dump | grep '2048 bits ' | awk '{print $6}' ").read().rstrip()
+rsa_2048_vps = os.popen(
+ "cat RSA_dump | grep '2048 bits ' | awk '{print $7}' ").read().rstrip()
+rsa_4096_sps = os.popen(
+ "cat RSA_dump | grep '4096 bits ' | awk '{print $6}' ").read().rstrip()
+rsa_4096_vps = os.popen(
+ "cat RSA_dump | grep '4096 bits ' | awk '{print $7}' ").read().rstrip()
+
+aes_16B = os.popen(
+ "cat AES-128-CBC_dump | grep 'aes-128-cbc ' | awk '{print $2}' ").read().rstrip()
+aes_64B = os.popen(
+ "cat AES-128-CBC_dump | grep 'aes-128-cbc ' | awk '{print $3}' ").read().rstrip()
+aes_256B = os.popen(
+ "cat AES-128-CBC_dump | grep 'aes-128-cbc ' | awk '{print $4}' ").read().rstrip()
+aes_1024B = os.popen(
+ "cat AES-128-CBC_dump | grep 'aes-128-cbc ' | awk '{print $5}' ").read().rstrip()
+aes_8192B = os.popen(
+ "cat AES-128-CBC_dump | grep 'aes-128-cbc ' | awk '{print $6}' ").read().rstrip()
+
+hostname = os.popen("hostname").read().rstrip()
+time_stamp = str(datetime.datetime.utcnow().isoformat())
+
+os.system("mv RSA_dump " + hostname + "-" + time_stamp + ".log")
+os.system("cat AES-128-CBC_dump >> " + hostname + "-" + time_stamp + ".log")
+
+result = {}
+
+result['1. Version'] = [openssl_version]
+result['2. RSA signatures'] = {}
+result['2. RSA signatures']['1. 512 bits (sign/s)'] = rsa_512_sps
+result['2. RSA signatures']['2. 1024 bits (sign/s)'] = rsa_1024_sps
+result['2. RSA signatures']['3. 2048 bits (sign/s)'] = rsa_2048_sps
+result['2. RSA signatures']['4. 4096 bits (sign/s)'] = rsa_4096_sps
+
+result['3. AES-128-cbc throughput'] = {}
+result['3. AES-128-cbc throughput']['1. 16 Bytes block (B/sec)'] = aes_16B
+result['3. AES-128-cbc throughput']['2. 64 Bytes block (B/sec)'] = aes_64B
+result['3. AES-128-cbc throughput']['3. 256 Bytes block (B/sec)'] = aes_256B
+result['3. AES-128-cbc throughput']['4. 1024 Bytes block (B/sec)'] = aes_1024B
+result['3. AES-128-cbc throughput']['5. 8192 Bytes block (B/sec)'] = aes_8192B
+
+
+with open('./result_temp', 'w+') as result_file:
+ pickle.dump(result, result_file)
diff --git a/benchmarks/playbooks/result_transform/ubench_transform.py b/benchmarks/playbooks/result_transform/ubench_transform.py
new file mode 100644
index 00000000..3c8ba1d8
--- /dev/null
+++ b/benchmarks/playbooks/result_transform/ubench_transform.py
@@ -0,0 +1,34 @@
+import os
+import json
+import pickle
+
+total_cpu = os.popen(
+ "cat $HOME/tempT/UnixBench/results/* | grep 'of tests' | awk '{print $1;}' | awk 'NR==1'").read().rstrip()
+
+cpu_1 = os.popen(
+ "cat $HOME/tempT/UnixBench/results/* | grep 'of tests' | awk '{print $6;}' | awk 'NR==1'").read().rstrip()
+
+
+cpu_2 = os.popen(
+ "cat $HOME/tempT/UnixBench/results/* | grep 'of tests' | awk '{print $6;}' | awk 'NR==2'").read().rstrip()
+
+
+Index_1 = os.popen(
+ "cat $HOME/tempT/UnixBench/results/* | grep 'Index Score (Partial Only) ' | awk '{print $7;}' | awk 'NR==1'").read().rstrip()
+Index_2 = os.popen(
+ "cat $HOME/tempT/UnixBench/results/* | grep 'Index Score (Partial Only) ' | awk '{print $7;}' | awk 'NR==2'").read().rstrip()
+
+
+result = {}
+result['1.Number of CPU(s) in system'] = total_cpu
+result['2.Single CPU test'] = {}
+result['2.Single CPU test']['1.Number of parallell test(s)'] = cpu_1
+result['2.Single CPU test']['2.Index score'] = Index_1
+result['3.Multi CPU test'] = {}
+result['3.Multi CPU test']['1.Number of parallell test(s)'] = cpu_2
+result['3.Multi CPU test']['2.Index score'] = Index_2
+
+with open('result_temp', 'w+') as result_file:
+ pickle.dump(result, result_file)
+print json.dumps(result, indent=4, sort_keys=True)
+# print result.items()
diff --git a/benchmarks/playbooks/ssl.yaml b/benchmarks/playbooks/ssl.yaml
new file mode 100644
index 00000000..fcb7585c
--- /dev/null
+++ b/benchmarks/playbooks/ssl.yaml
@@ -0,0 +1,104 @@
+ - hosts: 127.0.0.1
+ connection: local
+ tasks:
+ - name: making ssl directory
+ file: path={{workingdir}}/{{Dest_dir}}/ssl state=directory
+ - name: making temporary ssl directory
+ file: path={{workingdir}}/{{Dest_dir}}/ssl/ssl_temp state=directory
+ - hosts: "{{role}}"
+ become: yes
+ remote_user: "{{username}}"
+ tasks:
+ - name: checking_home directory
+ shell: sudo echo $HOME
+ register: home_dir
+
+ - name: cleaning
+ shell: sudo rm -rf $HOME/Open_SSL
+
+ - name: cleaning previous results
+ shell: sudo rm -rf $HOME/qtip_result
+
+ - name: making OpenSSL temporary directory
+ shell: sudo mkdir $HOME/Open_SSL
+
+ - name: making results temporary directory
+ shell: sudo mkdir $HOME/qtip_result
+
+ - include: ./sys_proxy_pbook.yaml
+
+ - include: ./sys_info_pbook.yaml
+ vars:
+ network: false
+
+ - name: Installing OpenSSL dependencies when CentOS
+ shell: sudo yum install git wget gcc patch perl-Time-HiRes autofconf automake libpcap-devel libtool -y
+ when: ansible_os_family == "RedHat"
+
+ - name: Installing OpenSSL dependencies when Ubuntu
+ shell: sudo apt-get install git gcc wget perl autoconf automake libpcap-dev libtool -y
+ when: ansible_os_family == "Debian"
+
+ - name: Fetching OpenSSL
+ shell: cd $HOME/Open_SSL/ && sudo wget http://artifacts.opnfv.org/qtip/utilities/openssl-1.0.2f.tar.gz
+
+ - name: Untar OpenSSL
+ shell: cd $HOME/Open_SSL/ && sudo tar -zxvf openssl-1.0.2f.tar.gz
+ - name: configure
+ shell: cd $HOME/Open_SSL/openssl-1.0.2f && sudo ./config
+
+ - name: make
+ shell: cd $HOME/Open_SSL/openssl-1.0.2f && sudo make
+
+ - name: make install
+ shell: cd $HOME/Open_SSL/openssl-1.0.2f && sudo make install
+
+ - name: Benchmarking RSA signatures
+ shell: cd $HOME/Open_SSL/openssl-1.0.2f/apps && sudo ./openssl speed rsa >> $HOME/qtip_result/RSA_dump
+
+ - name: Benchmaring AES-128-cbc cipher encryption throughput
+ shell: cd $HOME/Open_SSL/openssl-1.0.2f/apps && sudo ./openssl speed -evp aes-128-cbc >> $HOME/qtip_result/AES-128-CBC_dump
+
+
+ - name: Fetching result transformation script
+ copy: src=./result_transform/ssl/ssl_transform.py dest={{home_dir.stdout}}/qtip_result
+
+ - name: Transforming result
+ shell: cd $HOME/qtip_result && python ssl_transform.py
+
+ - name: copy report formation script
+ copy: src=./result_transform/final_report.py dest={{home_dir.stdout}}/qtip_result
+
+ - name: consolidating report
+ shell: cd $HOME/qtip_result && python final_report.py SSL {{fname}}
+
+ - name: registering files
+ shell: (cd $HOME/qtip_result/; find . -maxdepth 1 -name "*.json") | cut -d'/' -f2
+ register: files_to_copy
+
+ - name: copy results
+ fetch: src={{home_dir.stdout}}/qtip_result/{{item}} dest={{workingdir}}/{{Dest_dir}}/ssl/ssl_temp
+ with_items: files_to_copy.stdout_lines
+
+ - name: registering log files
+ shell: (cd $HOME/qtip_result/; find . -maxdepth 1 -name "*.log") | cut -d'/' -f2
+ register: copy_log_results
+
+ - name: copying log results
+ fetch: src={{home_dir.stdout}}/qtip_result/{{item}} dest={{workingdir}}/{{Dest_dir}}/ssl/ssl_temp
+ with_items: copy_log_results.stdout_lines
+
+
+ - hosts: 127.0.0.1
+ connection: local
+ tasks:
+ - name: echo
+ shell: echo $PWD
+ - name: extracting_json
+ shell: ( find {{workingdir}}/{{Dest_dir}}/ssl/ssl_temp/ -name "*.json" | xargs cp -t {{workingdir}}/{{Dest_dir}}/ssl/)
+ - name: making_logs_folder
+ shell: mkdir -p {{workingdir}}/{{Dest_dir}}/ssl/logs
+ - name: extracting_log
+ shell: ( find {{workingdir}}/{{Dest_dir}}/ssl/ssl_temp/ -name "*.log" | xargs cp -t {{workingdir}}/{{Dest_dir}}/ssl/logs)
+ - name: removing ssl_temp
+ shell: rm -rf {{workingdir}}/{{Dest_dir}}/ssl/ssl_temp
diff --git a/benchmarks/playbooks/sys_info_pbook.yaml b/benchmarks/playbooks/sys_info_pbook.yaml
new file mode 100644
index 00000000..bc47423f
--- /dev/null
+++ b/benchmarks/playbooks/sys_info_pbook.yaml
@@ -0,0 +1,47 @@
+ - name: Epel Release install when CentOS
+ shell: sudo yum install epel-release -y
+ when: ansible_os_family == "RedHat"
+
+ - name: Inxi install when CentOS
+ shell: sudo yum install inxi -y
+ when: ansible_os_family == "RedHat"
+
+ - name: Software Properties Common
+ shell: sudo apt-get install software-properties-common -y
+ when: ansible_os_family == "Debian"
+
+ - name: adding trusty-backport main repo
+ shell: sudo apt-add-repository "deb http://archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse"
+ when: ansible_os_family == "Debian"
+
+ - name: adding trusty main repo
+ shell: sudo apt-add-repository "deb http://archive.ubuntu.com/ubuntu/ trusty main restricted universe multiverse"
+ when: ansible_os_family == "Debian"
+
+ - name: system info collection tool install when Ubuntu
+ shell: sudo apt-get update && apt-get install inxi -y
+ when: ansible_os_family == "Debian"
+
+ - name: Install ansible copy dependencies if remote host has selinux enabled
+ shell: sudo yum install libselinux-python -y
+ when: ansible_os_family == "RedHat"
+
+ - name: Install ansiblle copy dependencies if remote host has selinux enaled
+ shell: sudo apt-get install python-selinux -y
+ when: ansible_os_family == "Debian"
+
+ - name: system_info script copy
+ copy: src=./info_script/info_collect.py dest={{home_dir.stdout}}/qtip_result/
+
+ - name: collecting system informaton for non-network test cases
+ shell: cd $HOME/qtip_result && sudo python info_collect.py c
+ when: not network
+
+ - name: collecting system information for network test cases
+ shell: cd $HOME/qtip_result && sudo python info_collect.py n
+ when: network
+
+
+
+
+
diff --git a/benchmarks/playbooks/sys_proxy_pbook.yaml b/benchmarks/playbooks/sys_proxy_pbook.yaml
new file mode 100644
index 00000000..bf4a8ccb
--- /dev/null
+++ b/benchmarks/playbooks/sys_proxy_pbook.yaml
@@ -0,0 +1,53 @@
+#env
+- name: insert shell proxy http
+ lineinfile: dest=/etc/profile.d/proxy.sh state=present create=yes owner=root group=root mode=0644 regexp="export http_proxy={{ http_proxy }}"
+ insertafter=EOF line="export http_proxy={{ http_proxy }}"
+ when: http_proxy is defined
+ ignore_errors: yes
+
+- name: insert shell proxy https
+ lineinfile: dest=/etc/profile.d/proxy.sh state=present create=yes owner=root group=root mode=0644 regexp="export https_proxy={{ https_proxy }}"
+ insertafter=EOF line="export https_proxy={{ https_proxy }}"
+ when: https_proxy is defined
+ ignore_errors: yes
+
+- name: insert no proxy
+ lineinfile: dest=/etc/profile.d/proxy.sh state=present create=yes owner=root group=root mode=0644 regexp="{{ no_proxy }}"
+ insertafter=EOF line="export no_proxy={{ no_proxy }}"
+ when: no_proxy is defined
+ ignore_errors: yes
+
+#wget
+- name: insert wget proxy(http)
+ lineinfile: dest=/etc/wgetrc state=present regexp="http_proxy={{ http_proxy }}"
+ insertafter="^#http_proxy" line="http_proxy={{ http_proxy }}"
+ when: http_proxy is defined
+ ignore_errors: yes
+
+- name: insert wget proxy(https)
+ lineinfile: dest=/etc/wgetrc state=present regexp="https_proxy={{ https_proxy }}"
+ insertafter="^#https_proxy" line="https_proxy={{ https_proxy }}"
+ when: https_proxy is defined
+ ignore_errors: yes
+
+#yum
+- name: insert yum proxy(http)
+ lineinfile: dest=/etc/yum.conf state=present regexp="proxy={{ http_proxy }}"
+ insertafter=EOF line="proxy={{ http_proxy }}"
+ when: ansible_os_family == "RedHat" and http_proxy is defined
+ ignore_errors: yes
+
+#apt
+
+- name: insert apt proxy(http)
+ lineinfile: dest=/etc/apt/apt.conf state=present create=yes regexp="Acquire::http::Proxy \"{{ http_proxy }}\";"
+ insertafter=EOF line="Acquire::http::Proxy \"{{ http_proxy }}\";"
+ when: ansible_os_family == "Debian" and http_proxy is defined
+ ignore_errors: yes
+
+- name: insert apt proxy(https)
+ lineinfile: dest=/etc/apt/apt.conf state=present create=yes regexp="Acquire::https::Proxy \"{{ https_proxy }}\";"
+ insertafter=EOF line="Acquire::https::Proxy \"{{ https_proxy }}\";"
+ when: ansible_os_family == "Debian" and https_proxy is defined
+ ignore_errors: yes
+
diff --git a/benchmarks/playbooks/whetstone.yaml b/benchmarks/playbooks/whetstone.yaml
index 497797ff..efe78cfd 100644
--- a/benchmarks/playbooks/whetstone.yaml
+++ b/benchmarks/playbooks/whetstone.yaml
@@ -1,31 +1,112 @@
-
- - hosts: demo1
+ - hosts: 127.0.0.1
+ connection: local
+ tasks:
+ - name: making whetstone directory
+ file: path={{workingdir}}/{{Dest_dir}}/whetstone state=directory
+
+ - name: making temporary whetstone directory
+ file: path={{workingdir}}/{{Dest_dir}}/whetstone/whetstone_temp state=directory
+ - hosts: "{{role}}"
+ become: yes
+ remote_user: "{{username}}"
tasks:
- - name: cleaning
- shell: rm -rf /root/tempT
- - name: cleaning previous results
- file: path=/root/results state=absent
- - name: Installing UnixBench dependencies
- shell: yum install git gcc patch perl-Time-HiRes -y
+ - name: storing_home
+ shell: echo $HOME
+ register: home_dir
+
+ - name: cleaning tempT
+ shell: sudo rm -rf $HOME/tempT
+
+ - name: cleaning_qtip_result
+ shell: sudo rm -rf $HOME/qtip_result
+
+ - name: make directory
+ shell: sudo mkdir $HOME/qtip_result
+
+ - include: ./sys_proxy_pbook.yaml
+
+ - include: ./sys_info_pbook.yaml
+ vars:
+ network: false
+
+ - name: Installing UnixBench dependencies if CentOS
+ shell: sudo yum install git gcc patch perl-Time-HiRes -y
+ when: ansible_os_family == "RedHat"
+
+ - name: Installing UnixBench dependencies if Ubuntu
+ shell: sudo apt-get install git gcc patch perl -y
+ when: ansible_os_family == "Debian"
+
+ - include: ./git_proxy_pbook.yaml
+
- name: Clone unixbench
- shell: git clone https://github.com/kdlucas/byte-unixbench.git /root/tempT
+ shell: git clone https://github.com/kdlucas/byte-unixbench.git $HOME/tempT
+
- name: make
- shell: make --directory /root/tempT/UnixBench/
+ shell: sudo make --directory $HOME/tempT/UnixBench/
+
- name: downloading_patch
- shell: cd /root/tempT/UnixBench/ && wget https://www.dropbox.com/s/11z85gfu0trkhus/fix-limitation.patch
+ shell: cd $HOME/tempT/UnixBench/ && sudo wget https://www.dropbox.com/s/11z85gfu0trkhus/fix-limitation.patch
+
- name: applying_patch
- shell: cd /root/tempT/UnixBench/ && patch Run fix-limitation.patch
- - name: Run whetstone
- shell: cd /root/tempT/UnixBench/&&./Run -v whetstone
+ shell: cd $HOME/tempT/UnixBench/ && sudo patch Run fix-limitation.patch
+
+ - name: Run Whetstone
+ shell: cd $HOME/tempT/UnixBench/&&./Run -v whetstone
+
+ - name: collecting and transforming result script copy
+ copy: src=./result_transform/ubench_transform.py dest={{home_dir.stdout}}/qtip_result/
+
+ - name: transforming result
+ shell: cd $HOME/qtip_result && sudo python ubench_transform.py
+
+ - name: copying consolidated report script
+ copy: src=./result_transform/final_report.py dest={{home_dir.stdout}}/qtip_result/
+
+ - name: making consolidated report
+ shell: cd $HOME/qtip_result && sudo python final_report.py Whetstone {{fname}}
+
- name: making directory
- file: path=/root/results state=directory
+ file: path={{home_dir.stdout}}/qtip_result/log state=directory
+
- name: copying result to temp directory
- shell: cp -r /root/tempT/UnixBench/results/* /root/results/
+ shell: sudo cp -r $HOME/tempT/UnixBench/results/* $HOME/qtip_result/log
+
- name: registering files
- shell: (cd /root/results/; find . -maxdepth 1 -type f) | cut -d'/' -f2
+ shell: (cd $HOME/qtip_result/; find . -maxdepth 1 -name "*.json") | cut -d'/' -f2
register: files_to_copy
+
- name: copy results
- fetch: src=/root/results/{{item}} dest={{Dest_dir}}/whetstone
+ fetch: src={{home_dir.stdout}}/qtip_result/{{item}} dest={{workingdir}}/{{Dest_dir}}/whetstone/whetstone_temp
with_items: files_to_copy.stdout_lines
+ - name: registering log files
+ shell: (cd $HOME/qtip_result/log/; find . -maxdepth 1 -name "*.log") | cut -d'/' -f2
+ register: copy_log_results
+
+ - name: copying log results
+ fetch: src={{home_dir.stdout}}/qtip_result/log/{{item}} dest={{workingdir}}/{{Dest_dir}}/whetstone/whetstone_temp
+ with_items: copy_log_results.stdout_lines
+
+ - name: cleaning tempT
+ shell: sudo rm -rf $HOME/tempT
+
+ - name: cleaning_qtip_result
+ shell: sudo rm -rf $HOME/qtip_result
+
+
+ - hosts: 127.0.0.1
+ connection: local
+ tasks:
+ - name: extracting_json
+ shell: ( find {{workingdir}}/{{Dest_dir}}/whetstone/whetstone_temp/ -name "*.json" | xargs cp -t {{workingdir}}/{{Dest_dir}}/whetstone/)
+
+ - name: making_logs_folder
+ shell: mkdir -p {{workingdir}}/{{Dest_dir}}/whetstone/logs
+
+ - name: extracting_log
+ shell: ( find {{workingdir}}/{{Dest_dir}}/whetstone/whetstone_temp/ -name "*.log" | xargs cp -t {{workingdir}}/{{Dest_dir}}/whetstone/logs)
+
+ - name: removing whetstone_temp
+ shell: rm -rf {{workingdir}}/{{Dest_dir}}/whetstone/whetstone_temp