From 23b627df622eeafafa215ce19764310c1d55dd55 Mon Sep 17 00:00:00 2001 From: Yujun Zhang Date: Sun, 8 Jan 2017 09:48:31 +0800 Subject: Reorganize the project folders Code from Brahmaputra is no longer maintained, including: - docker - playbooks - scripts - utils They are moved to legacy folder to avoid unnecessary confusion to new developers. Change-Id: Ia50383ca5c3bd82571eb7b2184e7f83e264ff8a7 Signed-off-by: Yujun Zhang --- legacy/assets/perftest/common/git_proxy_pbook.yaml | 11 ++ legacy/assets/perftest/common/sys_info_pbook.yaml | 42 ++++++ legacy/assets/perftest/common/sys_proxy_pbook.yaml | 53 +++++++ legacy/assets/perftest/dhrystone.yaml | 111 ++++++++++++++ legacy/assets/perftest/dpi.yaml | 126 ++++++++++++++++ legacy/assets/perftest/etc/dpi_average.sh | 14 ++ legacy/assets/perftest/etc/fio_test_job | 13 ++ legacy/assets/perftest/etc/info_collect.py | 86 +++++++++++ legacy/assets/perftest/fio.yaml | 112 ++++++++++++++ legacy/assets/perftest/iperf.yaml | 162 +++++++++++++++++++++ legacy/assets/perftest/ramspeed.yaml | 115 +++++++++++++++ legacy/assets/perftest/ssl.yaml | 119 +++++++++++++++ legacy/assets/perftest/summary | 23 +++ legacy/assets/perftest/whetstone.yaml | 111 ++++++++++++++ legacy/assets/suite/compute | 16 ++ legacy/assets/suite/compute.yaml | 46 ++++++ legacy/assets/suite/network | 9 ++ legacy/assets/suite/storage | 8 + .../testplan/default/compute/dhrystone_bm.yaml | 33 +++++ .../testplan/default/compute/dhrystone_vm.yaml | 45 ++++++ legacy/assets/testplan/default/compute/dpi_bm.yaml | 34 +++++ legacy/assets/testplan/default/compute/dpi_vm.yaml | 35 +++++ .../testplan/default/compute/ramspeed_bm.yaml | 34 +++++ .../testplan/default/compute/ramspeed_vm.yaml | 45 ++++++ legacy/assets/testplan/default/compute/ssl_bm.yaml | 31 ++++ legacy/assets/testplan/default/compute/ssl_vm.yaml | 36 +++++ .../testplan/default/compute/whetstone_bm.yaml | 33 +++++ .../testplan/default/compute/whetstone_vm.yaml | 44 ++++++ .../assets/testplan/default/network/iperf_bm.yaml | 50 +++++++ .../assets/testplan/default/network/iperf_vm.yaml | 43 ++++++ .../testplan/default/network/iperf_vm_2.yaml | 44 ++++++ legacy/assets/testplan/default/storage/fio_bm.yaml | 39 +++++ legacy/assets/testplan/default/storage/fio_vm.yaml | 44 ++++++ 33 files changed, 1767 insertions(+) create mode 100644 legacy/assets/perftest/common/git_proxy_pbook.yaml create mode 100644 legacy/assets/perftest/common/sys_info_pbook.yaml create mode 100644 legacy/assets/perftest/common/sys_proxy_pbook.yaml create mode 100644 legacy/assets/perftest/dhrystone.yaml create mode 100644 legacy/assets/perftest/dpi.yaml create mode 100644 legacy/assets/perftest/etc/dpi_average.sh create mode 100644 legacy/assets/perftest/etc/fio_test_job create mode 100644 legacy/assets/perftest/etc/info_collect.py create mode 100644 legacy/assets/perftest/fio.yaml create mode 100644 legacy/assets/perftest/iperf.yaml create mode 100644 legacy/assets/perftest/ramspeed.yaml create mode 100644 legacy/assets/perftest/ssl.yaml create mode 100644 legacy/assets/perftest/summary create mode 100644 legacy/assets/perftest/whetstone.yaml create mode 100644 legacy/assets/suite/compute create mode 100644 legacy/assets/suite/compute.yaml create mode 100644 legacy/assets/suite/network create mode 100644 legacy/assets/suite/storage create mode 100644 legacy/assets/testplan/default/compute/dhrystone_bm.yaml create mode 100644 legacy/assets/testplan/default/compute/dhrystone_vm.yaml create mode 100644 legacy/assets/testplan/default/compute/dpi_bm.yaml create mode 100644 legacy/assets/testplan/default/compute/dpi_vm.yaml create mode 100644 legacy/assets/testplan/default/compute/ramspeed_bm.yaml create mode 100644 legacy/assets/testplan/default/compute/ramspeed_vm.yaml create mode 100644 legacy/assets/testplan/default/compute/ssl_bm.yaml create mode 100644 legacy/assets/testplan/default/compute/ssl_vm.yaml create mode 100644 legacy/assets/testplan/default/compute/whetstone_bm.yaml create mode 100644 legacy/assets/testplan/default/compute/whetstone_vm.yaml create mode 100644 legacy/assets/testplan/default/network/iperf_bm.yaml create mode 100644 legacy/assets/testplan/default/network/iperf_vm.yaml create mode 100644 legacy/assets/testplan/default/network/iperf_vm_2.yaml create mode 100644 legacy/assets/testplan/default/storage/fio_bm.yaml create mode 100644 legacy/assets/testplan/default/storage/fio_vm.yaml (limited to 'legacy/assets') diff --git a/legacy/assets/perftest/common/git_proxy_pbook.yaml b/legacy/assets/perftest/common/git_proxy_pbook.yaml new file mode 100644 index 00000000..5cb6f450 --- /dev/null +++ b/legacy/assets/perftest/common/git_proxy_pbook.yaml @@ -0,0 +1,11 @@ +#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/legacy/assets/perftest/common/sys_info_pbook.yaml b/legacy/assets/perftest/common/sys_info_pbook.yaml new file mode 100644 index 00000000..5c2d8f79 --- /dev/null +++ b/legacy/assets/perftest/common/sys_info_pbook.yaml @@ -0,0 +1,42 @@ + - 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=../etc/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/legacy/assets/perftest/common/sys_proxy_pbook.yaml b/legacy/assets/perftest/common/sys_proxy_pbook.yaml new file mode 100644 index 00000000..bf4a8ccb --- /dev/null +++ b/legacy/assets/perftest/common/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/legacy/assets/perftest/dhrystone.yaml b/legacy/assets/perftest/dhrystone.yaml new file mode 100644 index 00000000..896aadfc --- /dev/null +++ b/legacy/assets/perftest/dhrystone.yaml @@ -0,0 +1,111 @@ + - hosts: localhost + connection: local + gather_facts: no + + tasks: + - name: making dhrystone directory + file: path={{Dest_dir}}/dhrystone state=directory + + - name: making temporary dhrystone directory + file: path={{Dest_dir}}/dhrystone/dhrystone_temp state=directory + + - hosts: "{{role}}" + become: yes + remote_user: "{{username}}" + + tasks: + - name: checking home directory + shell: echo $HOME + register: home_dir + + - name: cleaning tempT + file: path={{home_dir.stdout}}/tempT state=absent + + - name: cleaning qtip_result + file: path={{home_dir.stdout}}/qtip_result state=absent + + - name: make directory + file: path={{home_dir.stdout}}/qtip_result state=directory + + - include: ./common/sys_proxy_pbook.yaml + + - include: ./common/sys_info_pbook.yaml + vars: + network: false + + - name: Installing UnixBench dependencies if CentOS + shell: yum install git gcc patch perl-Time-HiRes -y + when: ansible_os_family == "RedHat" + + - name: Installing UnixBench dependencies if Ubuntu + shell: apt-get install git gcc patch perl -y + when: ansible_os_family == "Debian" + + - include: ./common/git_proxy_pbook.yaml + + - name: Clone unixbench + git: repo=https://github.com/kdlucas/byte-unixbench.git + dest=$HOME/tempT + + - name: make + shell: sudo make --directory $HOME/tempT/UnixBench/ + + - name: Run dhrystone + shell: cd $HOME/tempT/UnixBench/&& sudo ./Run -v dhrystone + + - name: collecting and transforming result script copy + copy: src={{workingdir}}/qtip/utils/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={{workingdir}}/utils/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={{home_dir.stdout}}/qtip_result/log state=directory + + - name: copying result to temp directory + shell: sudo cp -r $HOME/tempT/UnixBench/results/* $HOME/qtip_result/log/ + + - 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={{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={{Dest_dir}}/dhrystone/dhrystone_temp + with_items: "{{copy_log_results.stdout_lines}}" + + - name: cleaning tempT + file: path={{home_dir.stdout}}/tempT state=absent + + - name: cleaning_qtip_result + file: path={{home_dir.stdout}}/qtip_result state=absent + + - hosts: localhost + connection: local + gather_facts: no + + tasks: + - name: extracting_json + shell: (find {{Dest_dir}}/dhrystone/dhrystone_temp/ -name "*.json" | xargs cp -t {{Dest_dir}}/dhrystone/) + + - name: making_logs_folder + file: path={{Dest_dir}}/dhrystone/logs state=directory + + - name: extracting_log + shell: (find {{Dest_dir}}/dhrystone/dhrystone_temp/ -name "*.log" | xargs cp -t {{Dest_dir}}/dhrystone/logs) + + - name: removing dhrystone_temp + file: path={{Dest_dir}}/dhrystone/dhrystone_temp state=directory diff --git a/legacy/assets/perftest/dpi.yaml b/legacy/assets/perftest/dpi.yaml new file mode 100644 index 00000000..2a10bef6 --- /dev/null +++ b/legacy/assets/perftest/dpi.yaml @@ -0,0 +1,126 @@ + - hosts: localhost + connection: local + gather_facts: no + + tasks: + - name: making dpi directory + file: path={{Dest_dir}}/dpi state=directory + + - name: making temporary whetstone directory + file: path={{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 + file: path={{home_dir.stdout}}/tempD state=absent + + - name: cleaning previous results + file: path={{home_dir.stdout}}/qtip_result state=absent + + - name: make qtip_result + file: path={{home_dir.stdout}}/qtip_result state=directory + + - include: ./common/sys_proxy_pbook.yaml + + - include: ./common/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 + file: path=$HOME/tempD state=directory + + - include: ./common/git_proxy_pbook.yaml + + - name: Clone nDPI + git: repo=https://github.com/ntop/nDPI.git + dest=$HOME/tempD/nDPI + + - 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://build.opnfv.org/artifacts.opnfv.org/qtip/utilities/test.pcap + + - name: fetch Averaging script + copy: src=./etc/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={{workingdir}}/qtip/utils/transform/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={{workingdir}}/qtip/utils/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={{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={{Dest_dir}}/dpi/dpi_temp + with_items: "{{copy_log_results.stdout_lines}}" + + - name: cleaning tempD + file: path={{home_dir.stdout}}/tempD state=absent + + - name: cleaning_qtip_result + file: path={{home_dir.stdout}}/qtip_result state=absent + + - hosts: localhost + connection: local + gather_facts: no + + tasks: + - name: extracting_json + shell: (find {{Dest_dir}}/dpi/dpi_temp/ -name "*.json" | xargs cp -t {{Dest_dir}}/dpi/) + + - name: making_logs_folder + file: path={{Dest_dir}}/dpi/logs state=directory + + - name: extracting_log + shell: (find {{Dest_dir}}/dpi/dpi_temp/ -name "*.log" | xargs cp -t {{Dest_dir}}/dpi/logs) + + - name: removing dpi_temp + file: path={{Dest_dir}}/dpi/dpi_temp state=absent diff --git a/legacy/assets/perftest/etc/dpi_average.sh b/legacy/assets/perftest/etc/dpi_average.sh new file mode 100644 index 00000000..405d3ff6 --- /dev/null +++ b/legacy/assets/perftest/etc/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/legacy/assets/perftest/etc/fio_test_job b/legacy/assets/perftest/etc/fio_test_job new file mode 100644 index 00000000..6817abca --- /dev/null +++ b/legacy/assets/perftest/etc/fio_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/legacy/assets/perftest/etc/info_collect.py b/legacy/assets/perftest/etc/info_collect.py new file mode 100644 index 00000000..3fc35d5a --- /dev/null +++ b/legacy/assets/perftest/etc/info_collect.py @@ -0,0 +1,86 @@ +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() + +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 = {'hostname': inxi_host, + 'product': inxi_product, + 'os': inxi_distro, + 'kernel': inxi_kernel, + 'cpu': inxi_cpu, + 'cpu_usage': '{0}%'.format(str(round(cpu_usage, 3))), + 'memory_usage': inxi_mem, + 'disk_usage': inxi_HD} +network_flag = str(sys.argv[1]).rstrip() + +if (network_flag == 'n'): + + info_dict['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['network_interfaces']['interface_' + str(x)] = {} + info_dict['network_interfaces']['interface_' + str(x)]['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['network_interfaces']['interface_' + str(x)]['interface_info'] = inxi_card_2 + elif x < (i): + print "two" + inxi_card_1 = ((os.popen(tem + "| sed 's/ *driver:.*//'").read().rstrip().lstrip())) + info_dict['network_interfaces']['interface_' + str(x)] = {} + info_dict['network_interfaces']['interface_' + str(x)]['network_Card'] = inxi_card_1 + inxi_card_2 = ((os.popen(tem + "|sed -e 's/^.*IF: //'").read())).rstrip().lstrip() + info_dict['network_interfaces']['interface_' + str(x)]['interface_info'] = inxi_card_2 + elif x == i: + print "Three" + info_dict['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['network_interfaces']['interface_' + str(x)]['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['network_interfaces']['interface_' + str(x)]['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['interface_io'] = 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/legacy/assets/perftest/fio.yaml b/legacy/assets/perftest/fio.yaml new file mode 100644 index 00000000..0da9407d --- /dev/null +++ b/legacy/assets/perftest/fio.yaml @@ -0,0 +1,112 @@ + - hosts: localhost + connection: local + gather_facts: no + + tasks: + - name: making fio directory + file: path={{Dest_dir}}/fio state=directory + + - name: making temporary fio directory + file: path={{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 fio directory + file: path={{home_dir.stdout}}/fio state=absent + + - name: cleaning previous results + file: path={{home_dir.stdout}}/qtip_result state=absent + + - name: making fio temporary directory + file: path={{home_dir.stdout}}/fio state=directory + + - name: making results temporary directory + file: path={{home_dir.stdout}}/qtip_result state=directory + + - include: ./common/sys_proxy_pbook.yaml + + - include: ./common/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=./etc/fio_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 fio_test_job + + - name: Fetching result transformation script + copy: src={{workingdir}}/qtip/utils/transform/fio_transform.py dest={{home_dir.stdout}}/qtip_result + + - name: Transforming result + shell: cd $HOME/qtip_result && sudo python fio_transform.py + + - name: copy report formation script + copy: src={{workingdir}}/qtip/utils/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={{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={{Dest_dir}}/fio/fio_temp + with_items: "{{copy_log_results.stdout_lines}}" + + - name: cleaning fio + file: path={{home_dir.stdout}}/fio state=absent + + - name: cleaning_qtip_result + file: path={{home_dir.stdout}}/qtip_result state=absent + + - hosts: localhost + connection: local + gather_facts: no + + tasks: + - name: extracting_json + shell: (find {{Dest_dir}}/fio/fio_temp/ -name "*.json" | xargs cp -t {{Dest_dir}}/fio/) + + - name: making_logs_folder + file: path={{Dest_dir}}/fio/logs state=directory + + - name: extracting_log + shell: (find {{Dest_dir}}/fio/fio_temp/ -name "*.log" | xargs cp -t {{Dest_dir}}/fio/logs) + + - name: removing fio_log + file: path={{Dest_dir}}/fio/fio_temp state=absent diff --git a/legacy/assets/perftest/iperf.yaml b/legacy/assets/perftest/iperf.yaml new file mode 100644 index 00000000..a1755f7c --- /dev/null +++ b/legacy/assets/perftest/iperf.yaml @@ -0,0 +1,162 @@ + - hosts: localhost + connection: local + gather_facts: no + + tasks: + - name: making Iperf directory + file: path={{Dest_dir}}/iperf state=directory + + - name: making temporary iperf directory + file: path={{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 iperf directory + file: path={{home_dir.stdout}}/iperf state=absent + + - name: cleaning previous results + file: path={{home_dir.stdout}}/qtip_result state=absent + + - name: making Iperf temporary directory + file: path={{home_dir.stdout}}/iperf state=directory + + - name: making results temporary directory + file: path={{home_dir.stdout}}/qtip_result state=directory + + - include: ./common/sys_proxy_pbook.yaml + + - include: ./common/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={{workingdir}}/qtip/utils/transform/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={{workingdir}}/qtip/utils/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={{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={{Dest_dir}}/iperf/iperf_temp + with_items: "{{copy_log_results.stdout_lines}}" + when: rolename =="2-host" and "{{ip2}}" == '' + + - name: cleaning iperf directory + file: path={{home_dir.stdout}}/iperf state=absent + + - name: cleaning previous results + file: path={{home_dir.stdout}}/qtip_result state=absent + + - hosts: localhost + connection: local + gather_facts: no + + tasks: + - name: Rolename + set_fact: + rolename: "{{role}}" + when: role is defined + + - name: extracting_json + shell: (find {{Dest_dir}}/iperf/iperf_temp/ -name "*.json" | xargs cp -t {{Dest_dir}}/iperf/) + when: rolename == "2-host" + + - name: making_logs_folder + file: path={{Dest_dir}}/iperf/logs state=directory + + - name: extracting_log + shell: ( find {{Dest_dir}}/iperf/iperf_temp/ -name "*.log" | xargs cp -t {{Dest_dir}}/iperf/logs) + when: rolename == "2-host" + + - name: removing iperf_raw file + file: path={{Dest_dir}}/iperf/iperf_raw.json state=absent + when: rolename == "2-host" + + - name: removing iperf_temp + file: path={{Dest_dir}}/iperf/iperf_temp state=absent diff --git a/legacy/assets/perftest/ramspeed.yaml b/legacy/assets/perftest/ramspeed.yaml new file mode 100644 index 00000000..83ecd8bf --- /dev/null +++ b/legacy/assets/perftest/ramspeed.yaml @@ -0,0 +1,115 @@ + - hosts: localhost + connection: local + gather_facts: no + + tasks: + - name: making ramspeed directory + file: path={{Dest_dir}}/ramspeed state=directory + + - name: making temporary ramspeed directory + file: path={{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 ramspeed directory + file: path={{home_dir.stdout}}/ramspeed state=absent + + - name: cleaning previous results + file: path={{home_dir.stdout}}/qtip_result state=absent + + - name: making ramspeed temporary directory + file: path={{home_dir.stdout}}/ramspeed state=directory + + - name: making results temporary directory + file: path={{home_dir.stdout}}/qtip_result state=directory + + - include: ./common/sys_proxy_pbook.yaml + + - include: ./common/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={{workingdir}}/qtip/utils/transform/ramspeed_transform.py dest={{home_dir.stdout}}/qtip_result + + - name: Transforming result + shell: cd $HOME/qtip_result && sudo python ramspeed_transform.py + + - name: copy report formation script + copy: src={{workingdir}}/qtip/utils/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={{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={{Dest_dir}}/ramspeed/ramspeed_temp + with_items: "{{copy_log_results.stdout_lines}}" + + - name: cleaning ramspeed directory + file: path={{home_dir.stdout}}/ramspeed state=absent + + - name: cleaning previous results + file: path={{home_dir.stdout}}/qtip_result state=absent + + - hosts: localhost + connection: local + gather_facts: no + + tasks: + - name: extracting_json + shell: (find /{{Dest_dir}}/ramspeed/ramspeed_temp/ -name "*.json" | xargs cp -t {{Dest_dir}}/ramspeed/) + + - name: making_logs_folder + file: path={{Dest_dir}}/ramspeed/logs state=directory + + - name: extracting_log + shell: ( find {{Dest_dir}}/ramspeed/ramspeed_temp/ -name "*.log" | xargs cp -t {{Dest_dir}}/ramspeed/logs) + + - name: removing ramspeed_log + file: path={{Dest_dir}}/ramspeed/ramspeed_temp state=absent diff --git a/legacy/assets/perftest/ssl.yaml b/legacy/assets/perftest/ssl.yaml new file mode 100644 index 00000000..6002bfff --- /dev/null +++ b/legacy/assets/perftest/ssl.yaml @@ -0,0 +1,119 @@ + - hosts: localhost + connection: local + gather_facts: no + + tasks: + - name: making ssl directory + file: path={{Dest_dir}}/ssl state=directory + + - name: making temporary ssl directory + file: path={{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 Open_SSL directory + file: path={{home_dir.stdout}}/Open_SSL state=absent + + - name: cleaning_qtip_result + file: path={{home_dir.stdout}}/qtip_result state=absent + + - name: making OpenSSL temporary directory + file: path={{home_dir.stdout}}/Open_SSL state=directory + + - name: making results temporary directory + file: path={{home_dir.stdout}}/qtip_result state=directory + + - include: ./common/sys_proxy_pbook.yaml + + - include: ./common/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={{workingdir}}/qtip/utils/transform/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={{workingdir}}/qtip/utils/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={{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={{Dest_dir}}/ssl/ssl_temp + with_items: "{{copy_log_results.stdout_lines}}" + + - name: cleaning Open_SSL directory + file: path={{home_dir.stdout}}/Open_SSL state=absent + + - name: cleaning_qtip_result + file: path={{home_dir.stdout}}/qtip_result state=absent + + - hosts: localhost + connection: local + gather_facts: no + + tasks: + - name: echo + shell: echo $PWD + + - name: extracting_json + shell: (find {{Dest_dir}}/ssl/ssl_temp/ -name "*.json" | xargs cp -t {{Dest_dir}}/ssl/) + + - name: making_logs_folder + file: path={{Dest_dir}}/ssl/logs state=directory + + - name: extracting_log + shell: (find {{Dest_dir}}/ssl/ssl_temp/ -name "*.log" | xargs cp -t {{Dest_dir}}/ssl/logs) + + - name: removing ssl_temp + file: path={{Dest_dir}}/ssl/ssl_temp state=absent diff --git a/legacy/assets/perftest/summary b/legacy/assets/perftest/summary new file mode 100644 index 00000000..5891408c --- /dev/null +++ b/legacy/assets/perftest/summary @@ -0,0 +1,23 @@ +--- + + test_cases: + - name: fio + description: Storage performance benchmark + + - name: iperf + description: Measures the network throughput + + - name: dpi + description: Traffic classification rate provides a measure for CPU performance + + - name: ssl + description: CPU performance benchmark + + - name: dhrystone + description: Evaluate CPU's integer operation performance + + - name: whetstone + description: Evaluate CPU's floating point performance + + - name: ramspeed + description: Measures the memory performance of a machine diff --git a/legacy/assets/perftest/whetstone.yaml b/legacy/assets/perftest/whetstone.yaml new file mode 100644 index 00000000..d6eae85f --- /dev/null +++ b/legacy/assets/perftest/whetstone.yaml @@ -0,0 +1,111 @@ + - hosts: localhost + connection: local + gather_facts: no + + tasks: + - name: making whetstone directory + file: path={{Dest_dir}}/whetstone state=directory + + - name: making temporary whetstone directory + file: path={{Dest_dir}}/whetstone/whetstone_temp state=directory + + - hosts: "{{role}}" + become: yes + remote_user: "{{username}}" + + tasks: + - name: storing_home + shell: echo $HOME + register: home_dir + + - name: cleaning tempT directory + file: path={{home_dir.stdout}}/tempT state=absent + + - name: cleaning qtip result directory + file: path={{home_dir.stdout}}/qtip_result state=absent + + - name: making qtip_result directory + file: path={{home_dir.stdout}}/qtip_result state=directory + + - include: ./common/sys_proxy_pbook.yaml + + - include: ./common/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: ./common/git_proxy_pbook.yaml + + - name: Clone unixbench + git: repo=https://github.com/kdlucas/byte-unixbench.git + dest=$HOME/tempT + + - name: make + shell: sudo make --directory $HOME/tempT/UnixBench/ + + - name: Run Whetstone + shell: cd $HOME/tempT/UnixBench/&&./Run -v whetstone + + - name: collecting and transforming result script copy + copy: src={{workingdir}}/qtip/utils/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={{workingdir}}/qtip/utils/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={{home_dir.stdout}}/qtip_result/log state=directory + + - name: copying result to temp directory + shell: sudo cp -r $HOME/tempT/UnixBench/results/* $HOME/qtip_result/log + + - 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={{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={{Dest_dir}}/whetstone/whetstone_temp + with_items: "{{copy_log_results.stdout_lines}}" + + - name: cleaning tempT directory + file: path={{home_dir.stdout}}/tempT state=absent + + - name: cleaning qtip result directory + file: path={{home_dir.stdout}}/qtip_result state=absent + + - hosts: localhost + connection: local + gather_facts: no + + tasks: + - name: extracting_json + shell: (find {{Dest_dir}}/whetstone/whetstone_temp/ -name "*.json" | xargs cp -t {{Dest_dir}}/whetstone/) + + - name: making_logs_folder + file: path={{Dest_dir}}/whetstone/logs state=directory + + - name: extracting_log + shell: (find {{Dest_dir}}/whetstone/whetstone_temp/ -name "*.log" | xargs cp -t {{Dest_dir}}/whetstone/logs) + + - name: removing whetstone_temp + file: path={{Dest_dir}}/whetstone/whetstone_temp state=absent diff --git a/legacy/assets/suite/compute b/legacy/assets/suite/compute new file mode 100644 index 00000000..3bf1b184 --- /dev/null +++ b/legacy/assets/suite/compute @@ -0,0 +1,16 @@ +{ + "bm": [ + "dhrystone_bm.yaml", + "whetstone_bm.yaml", + "ramspeed_bm.yaml", + "dpi_bm.yaml", + "ssl_bm.yaml" + ], + "vm": [ + "dhrystone_vm.yaml", + "whetstone_vm.yaml", + "ramspeed_vm.yaml", + "dpi_vm.yaml", + "ssl_vm.yaml" + ] +} diff --git a/legacy/assets/suite/compute.yaml b/legacy/assets/suite/compute.yaml new file mode 100644 index 00000000..197d5720 --- /dev/null +++ b/legacy/assets/suite/compute.yaml @@ -0,0 +1,46 @@ +QPI: compute +description: sample performance index of computing + +formula: weighted arithmetic mean + +section: +- name: Integer + weight: 0.3 + formula: geometric mean + perftests: + - name: dhrystone + workloads: + - single_cpu + - multi_cpu +- name: Floating + weight: 0.3 + formula: geometric mean + perftests: + - name: whetstone + workloads: + - single_cpu + - multi_cpu +- name: Memory + weight: 0.2 + formula: geometric mean + perftests: + - name: ramspeed + workloads: + - int: [add, average, copy, scale, triad] + - float: [add, average, copy, scale, triad] +- name: DPI + weight: 0.1 + formula: geometric mean + perftests: + - name: dpi + workloads: + - bps + - pps +- name: SSL + weight: 0.1 + formula: geometric mean + perftests: + - name: ssl + workloads: + - aes_128_cbc: [512, 1024, 2048, 4096] + - rsa_sig: [16, 64, 256, 1024, 8192] diff --git a/legacy/assets/suite/network b/legacy/assets/suite/network new file mode 100644 index 00000000..58ce5cb9 --- /dev/null +++ b/legacy/assets/suite/network @@ -0,0 +1,9 @@ +{ + "bm": [ + "iperf_bm.yaml" + ], + "vm": [ + "iperf_vm.yaml", + "iperf_vm_2.yaml" + ] +} diff --git a/legacy/assets/suite/storage b/legacy/assets/suite/storage new file mode 100644 index 00000000..f3068dd5 --- /dev/null +++ b/legacy/assets/suite/storage @@ -0,0 +1,8 @@ +{ + "bm": [ + "fio_bm.yaml" + ], + "vm": [ + "fio_vm.yaml" + ] +} diff --git a/legacy/assets/testplan/default/compute/dhrystone_bm.yaml b/legacy/assets/testplan/default/compute/dhrystone_bm.yaml new file mode 100644 index 00000000..64741537 --- /dev/null +++ b/legacy/assets/testplan/default/compute/dhrystone_bm.yaml @@ -0,0 +1,33 @@ + +Scenario: + benchmark: dhrystone + host: machine_1, machine_2 + server: + +Context: + Host_Machines: + machine_1: + ip: + pw: + role: host + machine_2: + ip: + pw: + role: host + + Virtual_Machines: + + +Test_Description: + Test_category: "Compute" + Benchmark: "dhrystone" + Overview: > + ''' This test will run the dhrystone benchmark in parallel on machine_1 and machine_2.\n + if you wish to add a virtual machine add the following information under the Virtual_Machine tag + + virtualmachine_1: + availability_zone: + public_network: + OS_image: + flavor: + role: ''' diff --git a/legacy/assets/testplan/default/compute/dhrystone_vm.yaml b/legacy/assets/testplan/default/compute/dhrystone_vm.yaml new file mode 100644 index 00000000..8f5a4165 --- /dev/null +++ b/legacy/assets/testplan/default/compute/dhrystone_vm.yaml @@ -0,0 +1,45 @@ +Scenario: + benchmark: dhrystone + host: virtualmachine_1, virtualmachine_2 + server: blakc + +Context: + Host_Machines: + + Virtual_Machines: + virtualmachine_1: + availability_zone: compute1 + public_network: 'net04_ext' + OS_image: QTIP_CentOS + flavor: m1.large + role: host + virtualmachine_2: + availability_zone: compute2 + public_network: 'net04_ext' + OS_image: QTIP_CentOS + flavor: m1.large + role: host + +Test_Description: + Test_category: "Compute" + Benchmark: "dhrystone" + Overview: > + '''This test will run the dhrystone benchmark in parallel on machine_1 and machine_2.\n + if you wish to add a virtual machine add the following information under the Virtual_Machine tag + machine_1: + ip: 172.18.0.16 + pw: Op3nStack + role: host + machine_2: + ip: 172.18.0.15 + pw: Op3nStack + role: host + + virtualmachine_1: + availability_zone: + public_network: + OS_image: + flavor: + role: + ''' + diff --git a/legacy/assets/testplan/default/compute/dpi_bm.yaml b/legacy/assets/testplan/default/compute/dpi_bm.yaml new file mode 100644 index 00000000..14cb6d0d --- /dev/null +++ b/legacy/assets/testplan/default/compute/dpi_bm.yaml @@ -0,0 +1,34 @@ +Scenario: + benchmark: dpi + host: machine_1,machine_2 + +Context: + Host_Machines: + machine_1: + ip: + pw: + role: host + machine_2: + ip: + pw: + role: host + Virtual_Machines: +Test_Description: + Test_category: "Compute" + Benchmark: "dpi" + Overview: > + '''This test will run the DPI benchmark in serial on virutalmachine_1 and virtualmachine_2.\n + if you wish to add a host machine add the following information under the Host_Machine tag + virtualmachine_2: + availability_zone: compute1 + OS_image: QTIP_CentOS + public_network: 'provider_network' + + role: 1host + flavor: m1.large + machine_1: + ip: + pw: + role: + ''' + diff --git a/legacy/assets/testplan/default/compute/dpi_vm.yaml b/legacy/assets/testplan/default/compute/dpi_vm.yaml new file mode 100644 index 00000000..10e86993 --- /dev/null +++ b/legacy/assets/testplan/default/compute/dpi_vm.yaml @@ -0,0 +1,35 @@ +Scenario: + benchmark: dpi + 1Run : virtualmachine_1, virtualmachine_2 + +Context: + Host_Machines: + + + Virtual_Machines: + virtualmachine_1: + availability_zone: compute1 + OS_image: QTIP_CentOS + public_network: 'net04_ext' + role: 1Run + flavor: m1.large + virtualmachine_2: + availability_zone: compute2 + OS_image: QTIP_CentOS + public_network: 'net04_ext' + role: 1Run + flavor: m1.large + +Test_Description: + Test_category: "Compute" + Benchmark: "dpi" + Overview: > + '''This test will run the DPI benchmark in parallel on virutalmachine_1 and virtualmachine_2.\n + if you wish to add a host machine add the following information under the Host_Machine tag + + machine_1: + ip: + pw: + role: + ''' + diff --git a/legacy/assets/testplan/default/compute/ramspeed_bm.yaml b/legacy/assets/testplan/default/compute/ramspeed_bm.yaml new file mode 100644 index 00000000..ed8fc700 --- /dev/null +++ b/legacy/assets/testplan/default/compute/ramspeed_bm.yaml @@ -0,0 +1,34 @@ +Scenario: + benchmark: ramspeed + host: machine_1, machine_2 + server: + +Context: + Host_Machines: + machine_1: + ip: + pw: + role: host + machine_2: + ip: + pw: + role: host + + Virtual_Machines: + + +Test_Description: + Test_category: "Compute" + Benchmark: "dhrystone" + Overview: > + ''' This test will run the dhrystone benchmark in parallel on machine_1 and machine_2.\n + if you wish to add a virtual machine add the following information under the Virtual_Machine tag + + virtualmachine_1: + availability_zone: + public_network: + OS_image: + flavor: + role: ''' + + diff --git a/legacy/assets/testplan/default/compute/ramspeed_vm.yaml b/legacy/assets/testplan/default/compute/ramspeed_vm.yaml new file mode 100644 index 00000000..a6a4363f --- /dev/null +++ b/legacy/assets/testplan/default/compute/ramspeed_vm.yaml @@ -0,0 +1,45 @@ +Scenario: + benchmark: ramspeed + host: virtualmachine_1, virtualmachine_2 + server: blakc + +Context: + Host_Machines: + + Virtual_Machines: + virtualmachine_1: + availability_zone: compute1 + public_network: 'net04_ext' + OS_image: QTIP_CentOS + flavor: m1.large + role: host + virtualmachine_2: + availability_zone: compute2 + public_network: 'net04_ext' + OS_image: QTIP_CentOS + flavor: m1.large + role: host + +Test_Description: + Test_category: "Compute" + Benchmark: "dhrystone" + Overview: > + '''This test will run the dhrystone benchmark in parallel on machine_1 and machine_2.\n + if you wish to add a virtual machine add the following information under the Virtual_Machine tag + machine_1: + ip: 172.18.0.16 + pw: Op3nStack + role: host + machine_2: + ip: 172.18.0.15 + pw: Op3nStack + role: host + + virtualmachine_1: + availability_zone: + public_network: + OS_image: + flavor: + role: + ''' + diff --git a/legacy/assets/testplan/default/compute/ssl_bm.yaml b/legacy/assets/testplan/default/compute/ssl_bm.yaml new file mode 100644 index 00000000..cc5a8903 --- /dev/null +++ b/legacy/assets/testplan/default/compute/ssl_bm.yaml @@ -0,0 +1,31 @@ +Scenario: + benchmark: ssl + host: machine_1,machine_2 + +Context: + Host_Machines: + machine_1: + ip: + pw: + role: host + machine_2: + ip: + pw: + role: host + Virtual_Machines: + + +Test_Description: + Test_category: "Compute" + Benchmark: "ssl" + Overview: > + '''This test will run the SSL benchmark in parallel on machine_1 and machine_1. + If you wish to add a virtual machine add the following information under the Virtual_Machine tag + + virtualmachine_1: + availability_zone: + public_network: + OS_image: + flavor: + role: + ''' diff --git a/legacy/assets/testplan/default/compute/ssl_vm.yaml b/legacy/assets/testplan/default/compute/ssl_vm.yaml new file mode 100644 index 00000000..37824896 --- /dev/null +++ b/legacy/assets/testplan/default/compute/ssl_vm.yaml @@ -0,0 +1,36 @@ +Scenario: + benchmark: ssl + host: virtualmachine_1, virtualmachine_2 + +Context: + Host_Machines: + + Virtual_Machines: + virtualmachine_1: + availability_zone: compute1 + public_network: 'net04_ext' + OS_image: 'QTIP_CentOS' + flavor: 'm1.large' + role: host + virtualmachine_2: + availability_zone: compute2 + public_network: 'net04_ext' + OS_image: 'QTIP_CentOS' + flavor: 'm1.large' + role: host + + +Test_Description: + Test_category: "Compute" + Benchmark: "ssl" + Overview: > + '''This test will run the SSL benchmark in parallel on virtualmachine_1 and machine_1.\n + if you wish to add a virtual machine add the following information under the Virtual_Machine tag + + virtualmachine_1: + availability_zone: + public_network: + OS_image: + flavor: + role: + ''' diff --git a/legacy/assets/testplan/default/compute/whetstone_bm.yaml b/legacy/assets/testplan/default/compute/whetstone_bm.yaml new file mode 100644 index 00000000..3c128b60 --- /dev/null +++ b/legacy/assets/testplan/default/compute/whetstone_bm.yaml @@ -0,0 +1,33 @@ +Scenario: + benchmark: whetstone + host: machine_1, machine_2 + + +Context: + Host_Machines: + machine_1: + ip: + pw: + role: host + machine_2: + ip: + pw: + role: host + Virtual_Machines: + + + +Test_Description: + Test_category: "Compute" + Benchmark: "whetstone" + Overview: > + ''' This test will run the whetstone benchmark in parallel on machine_1 and machine_2.\n + if you wish to add a baremetal machine add the following information under the Virtual_Machine tag + + machine_3: + ip: + pw: + role: + ''' + + diff --git a/legacy/assets/testplan/default/compute/whetstone_vm.yaml b/legacy/assets/testplan/default/compute/whetstone_vm.yaml new file mode 100644 index 00000000..0f1e8748 --- /dev/null +++ b/legacy/assets/testplan/default/compute/whetstone_vm.yaml @@ -0,0 +1,44 @@ +Scenario: + benchmark: whetstone + host: virtualmachine_1, virtualmachine_1 + server: + +Context: + Host_Machines: + + Virtual_Machines: + virtualmachine_1: + availability_zone: compute1 + public_network: 'net04_ext' + OS_image: QTIP_CentOS + flavor: m1.large + role: host + virtualmachine_2: + availability_zone: compute2 + public_network: 'net04_ext' + OS_image: QTIP_CentOS + flavor: m1.large + role: host + + +Test_Description: + Test_category: "Compute" + Benchmark: "dhrystone" + Overview: > + '''This test will run the whetstone benchmark in parallel on machine_1 and machine_2.\n + if you wish to add a virtual machine add the following information under the Virtual_Machine tag + virtualmachine_1: + availability_zone: nova + public_network: 'net04_ext' + OS_image: QTIP_CentOS + flavor: m1.large + role: host + + virtualmachine_1: + availability_zone: + public_network: + OS_image: + flavor: + role: + ''' + diff --git a/legacy/assets/testplan/default/network/iperf_bm.yaml b/legacy/assets/testplan/default/network/iperf_bm.yaml new file mode 100644 index 00000000..3aa8310d --- /dev/null +++ b/legacy/assets/testplan/default/network/iperf_bm.yaml @@ -0,0 +1,50 @@ +Scenario: + benchmark: iperf + topology: Client and Server on different baremetal Compute nodes + server: machine_1 + client: machine_2 + benchmark_details: + duration: 20 + protocol: tcp + bandwidthGbps: 10 + +Context: + Host_Machines: + machine_1: + ip: + pw: + role: 1-server + machine_2: + ip: + pw: + role: 2-host + + Virtual_Machines: + +Test_Description: + Test_category: "network" + Benchmark: "iperf" + Overview: > + '''This test will run the IPERF benchmark on virutalmachine_1 and virtualmachine_2. On the\n + same compute node + if you wish to add a host machine add the following information under the Host_Machine tag + virtualmachine_1: + availability_zone: compute1 + OS_image: QTIP_CentOS + public_network: 'net04_ext' + role: 1-server + flavor: m1.large + + virtualmachine_2: + availability_zone: compute2 + OS_image: QTIP_CentOS + public_network: 'net04_ext' + role: 2-host + flavor: m1.large + + machine_1: + ip: + pw: + role: + ''' + diff --git a/legacy/assets/testplan/default/network/iperf_vm.yaml b/legacy/assets/testplan/default/network/iperf_vm.yaml new file mode 100644 index 00000000..49bf13ad --- /dev/null +++ b/legacy/assets/testplan/default/network/iperf_vm.yaml @@ -0,0 +1,43 @@ +Scenario: + benchmark: iperf + topology: Client and Server on ONE compute + server : virtualmachine_1 + client: virtualmachine_2 + description: 'Leave the bandwidth as 0 to throttle maximum traffic' + benchmark_details: + duration: 20 + protocol: tcp + bandwidthGbps: 0 + +Context: + Host_Machines: + + Virtual_Machines: + virtualmachine_1: + availability_zone: compute1 + OS_image: QTIP_CentOS + public_network: 'net04_ext' + role: 1-server + flavor: m1.large + + virtualmachine_2: + availability_zone: compute1 + OS_image: QTIP_CentOS + public_network: 'net04_ext' + role: 2-host + flavor: m1.large + +Test_Description: + Test_category: "network" + Benchmark: "iperf" + Overview: > + '''This test will run the IPERF benchmark on virutalmachine_1 and virtualmachine_2. On the\n + same compute node + if you wish to add a host machine add the following information under the Host_Machine tag + + machine_1: + ip: + pw: + role: + ''' + diff --git a/legacy/assets/testplan/default/network/iperf_vm_2.yaml b/legacy/assets/testplan/default/network/iperf_vm_2.yaml new file mode 100644 index 00000000..c5b94715 --- /dev/null +++ b/legacy/assets/testplan/default/network/iperf_vm_2.yaml @@ -0,0 +1,44 @@ +Scenario: + benchmark: iperf + topology: Client and Server on two different compute nodes + server : virtualmachine_1 + client: virtualmachine_2 + description: 'Leave the bandwidth as 0 to throttle maximum traffic' + benchmark_details: + duration: 20 + protocol: tcp + bandwidthGbps: 0 + +Context: + Host_Machines: + + + Virtual_Machines: + virtualmachine_1: + availability_zone: compute1 + OS_image: QTIP_CentOS + public_network: 'net04_ext' + role: 1-server + flavor: m1.large + + virtualmachine_2: + availability_zone: compute2 + OS_image: QTIP_CentOS + public_network: 'net04_ext' + role: 2-host + flavor: m1.large + +Test_Description: + Test_category: "network" + Benchmark: "iperf" + Overview: > + '''This test will run the IPERF benchmark on virutalmachine_1 and virtualmachine_2. On the\n + same compute node + if you wish to add a host machine add the following information under the Host_Machine tag + + machine_1: + ip: + pw: + role: + ''' + diff --git a/legacy/assets/testplan/default/storage/fio_bm.yaml b/legacy/assets/testplan/default/storage/fio_bm.yaml new file mode 100644 index 00000000..d0001ea2 --- /dev/null +++ b/legacy/assets/testplan/default/storage/fio_bm.yaml @@ -0,0 +1,39 @@ +Scenario: + benchmark: fio + host: machine_1, machine_2 + server: + +Context: + Host_Machines: + machine_1: + ip: + pw: + role: host + machine_2: + ip: + pw: + role: host + + + Virtual_Machines: + + +Test_Description: + Test_category: "Storage" + Benchmark: "FIO" + Overview: > + '''This test will run the FIO benchmark in parallel on host machines "machine_1" and "machine_2".\n + The fio job specifications can be found in qtip/benchmarks/fio_jobs/test_job. + The job conists of an fio load of: + 1.50% rand read 50% rand write + 2.Asynch engine + 3.Direct IO. + 4.Queing depth of 2 + + if you wish to add another machine add the following information under the Host_Machines tag + machine_3: + ip: 172.18.0.16 + pw: Op3nStack + role: host + ''' + diff --git a/legacy/assets/testplan/default/storage/fio_vm.yaml b/legacy/assets/testplan/default/storage/fio_vm.yaml new file mode 100644 index 00000000..0e7f121b --- /dev/null +++ b/legacy/assets/testplan/default/storage/fio_vm.yaml @@ -0,0 +1,44 @@ +Scenario: + benchmark: fio + host: virtualmachine_1, virtualmachine_2 + server: + +Context: + Host_Machines: + + Virtual_Machines: + virtualmachine_1: + availability_zone: compute1 + public_network: 'net04_ext' + OS_image: QTIP_CentOS + flavor: m1.large + role: host + virtualmachine_2: + availability_zone: compute2 + public_network: 'net04_ext' + OS_image: QTIP_CentOS + flavor: m1.large + role: host + +Test_Description: + Test_category: "Storage" + Benchmark: "FIO" + Overview: > + '''This test will run the FIO benchmark in parallel on virtualmachine_1 and virtualmachine_2.\n + The fio job specifications can be found in qtip/benchmarks/fio_jobs/test_job. + The job conists of an fio load of: + 1.50% rand read 50% rand write + 2.Asynch engine + 3.Direct IO. + 4.Queing depth of 2 + + if you wish to add a virtual machine add the following information under the Virtual_Machine tag + + virtualmachine_3: + availability_zone: + public_network: + OS_image: + flavor: + role: + ''' + -- cgit 1.2.3-korg