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/scripts/__init__.py | 0 legacy/scripts/cleanup_creds.sh | 11 ++ legacy/scripts/fetch_compute_ips.sh | 117 +++++++++++++++ legacy/scripts/get_env_info.sh | 37 +++++ legacy/scripts/qtip_creds.sh | 30 ++++ legacy/scripts/ref_results/__init__.py | 0 .../ref_results/compute_benchmarks_indices.py | 160 +++++++++++++++++++++ legacy/scripts/ref_results/index_calculation.py | 41 ++++++ .../ref_results/network_benchmarks_indices.py | 20 +++ legacy/scripts/ref_results/reference.json | 97 +++++++++++++ legacy/scripts/ref_results/result_accum.py | 31 ++++ .../ref_results/storage_benchmarks_indices.py | 29 ++++ legacy/scripts/ref_results/suite_result.py | 58 ++++++++ legacy/scripts/ssh_exch.exp | 9 ++ 14 files changed, 640 insertions(+) create mode 100644 legacy/scripts/__init__.py create mode 100755 legacy/scripts/cleanup_creds.sh create mode 100755 legacy/scripts/fetch_compute_ips.sh create mode 100755 legacy/scripts/get_env_info.sh create mode 100755 legacy/scripts/qtip_creds.sh create mode 100644 legacy/scripts/ref_results/__init__.py create mode 100644 legacy/scripts/ref_results/compute_benchmarks_indices.py create mode 100644 legacy/scripts/ref_results/index_calculation.py create mode 100644 legacy/scripts/ref_results/network_benchmarks_indices.py create mode 100644 legacy/scripts/ref_results/reference.json create mode 100644 legacy/scripts/ref_results/result_accum.py create mode 100644 legacy/scripts/ref_results/storage_benchmarks_indices.py create mode 100644 legacy/scripts/ref_results/suite_result.py create mode 100644 legacy/scripts/ssh_exch.exp (limited to 'legacy/scripts') diff --git a/legacy/scripts/__init__.py b/legacy/scripts/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/legacy/scripts/cleanup_creds.sh b/legacy/scripts/cleanup_creds.sh new file mode 100755 index 00000000..b4eee924 --- /dev/null +++ b/legacy/scripts/cleanup_creds.sh @@ -0,0 +1,11 @@ +#! /bin/bash + +DEST_IP=$1 +HOSTNAME=$(hostname) +sshoptions="-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" + +case "$INSTALLER_TYPE" in + fuel) + ssh $sshoptions -i ./config/QtipKey root@$DEST_IP "sed -i '/root@$HOSTNAME/d' /root/.ssh/authorized_keys" + ;; +esac diff --git a/legacy/scripts/fetch_compute_ips.sh b/legacy/scripts/fetch_compute_ips.sh new file mode 100755 index 00000000..4bdc9a48 --- /dev/null +++ b/legacy/scripts/fetch_compute_ips.sh @@ -0,0 +1,117 @@ +#!/bin/bash +############################################################################## +#Copyright (c) 2016 Ericsson AB, ZTE and others. +#jose.lausuch@ericsson.com +#wu.zhihui1@zte.com.cn +#All rights reserved. This program and the accompanying materials +#are made available under the terms of the Apache License, Version 2.0 +#which accompanies this distribution, and is available at +#http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + + +usage(){ + echo "usage: $0 [-v] -i -a " >&2 + echo "[-v] Virtualized deployment" >&2 +} + +info() { + logger -s -t "fetch_compute_info.info" "$*" +} + + +error() { + logger -s -t "fetch_compute_info.error" "$*" + exit 1 +} + +verify_connectivity(){ + local ip=$1 + info "Verifying connectivity to $ip..." + for i in $(seq 0 10); do + if ping -c 1 -W 1 $ip > /dev/null; then + info "$ip is reachable!" + return 0 + fi + sleep 1 + done + error "Can not talk to $ip." +} + +:${DEPLOY_TYPE:=''} + +#Getoptions +while getopts ":i:a:h:v" optchar; do + case "${optchar}" in + i) installer_type=${OPTARG} ;; + a) installer_ip=${OPTARG} ;; + v) DEPLOY_TYPE="virt" ;; + *) echo "Non-option argument: '-${OPTARG}'" >&2 + usage + exit 2 + ;; + esac +done + +#set vars from env if not provided by user as options +installer_type=${installer_type:-$INSTALLER_TYPE} +installer_ip=${installer_ip:-$INSTALLER_IP} + +if [ -z $installer_type ] || [ -z $installer_ip ]; then + usage + exit 2 +fi + +ssh_options="-oUserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no" + +#Start fetching compute ip +if [ "$installer_type" == "fuel" ]; then + verify_connectivity $installer_ip + + env=$(sshpass -p r00tme ssh 2>/dev/null $ssh_options root@${installer_ip} \ + 'fuel env'|grep operational|head -1|awk '{print $1}') &> /dev/null + if [ -z $env ]; then + error "No operational environment detected in Fuel" + fi + env_id="${FUEL_ENV:-$env}" + + # Check if compute is alive (online='True') + IPS=$(sshpass -p r00tme ssh 2>/dev/null $ssh_options root@${installer_ip} \ + "fuel node --env ${env_id} | grep compute | grep 'True\| 1' | awk -F\| '{print \$5}' " | \ + sed 's/ //g') &> /dev/null + + +elif [ "$installer_type" == "apex" ]; then + echo "not implement now" + exit 1 + +elif [ "$installer_type" == "compass" ]; then + # need test + verify_connectivity $installer_ip + IPS=$(sshpass -p'root' ssh 2>/dev/null $ssh_options root@${installer_ip} \ + 'mysql -ucompass -pcompass -Dcompass -e"select * from cluster;"' \ + | awk -F"," '{for(i=1;i $HOME/qtip/ips.log + echo $IPS +fi + +exit 0 diff --git a/legacy/scripts/get_env_info.sh b/legacy/scripts/get_env_info.sh new file mode 100755 index 00000000..cd49ac87 --- /dev/null +++ b/legacy/scripts/get_env_info.sh @@ -0,0 +1,37 @@ +#! /bin/bash + +usage() { + echo "usage $0 -n -i -k " +} + + + +while getopts ":n:i:k:" optchar; do + case "${optchar}" in + n) + export INSTALLER_TYPE=${OPTARG};; + + i) + export INSTALLER_IP=${OPTARG};; + + k) + export APEX_KEY=${OPTARG};; + + *) + echo "Incorrect usage" + usage ;; + esac +done + +if [ $INSTALLER_TYPE == "apex" ] + then + if [ -z $APEX_KEY ] + then + echo "Please provide the the key to access the APEX Instack VM" + usage + exit 1 + fi +fi + + +${REPOS_DIR}/releng/utils/fetch_os_creds.sh -d ${QTIP_DIR}/opnfv-creds.sh diff --git a/legacy/scripts/qtip_creds.sh b/legacy/scripts/qtip_creds.sh new file mode 100755 index 00000000..af051ac5 --- /dev/null +++ b/legacy/scripts/qtip_creds.sh @@ -0,0 +1,30 @@ +#! /bin/bash + +DEST_IP=$1 +echo $INSTALLER_TYPE +echo $INSTALLER_IP +sshoptions="-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" +case "$INSTALLER_TYPE" in + apex) + scp $sshoptions -i $APEX_KEY ./config/QtipKey.pub stack@$INSTALLER_IP:/home/stack + scp $sshoptions -i $APEX_KEY ./config/QtipKey stack@$INSTALLER_IP:/home/stack + ssh $sshoptions -i $APEX_KEY stack@$INSTALLER_IP "ssh-copy-id $sshoptions -i /home/stack/QtipKey.pub heat-admin@$DEST_IP && rm -rf /home/stack/QtipKey && rm -rf /home/stack/QtipKey.pub" + ;; + fuel) + PSWD="r00tme" + sshpass -p $PSWD scp $sshoptions ./config/QtipKey.pub root@$INSTALLER_IP:/root + sshpass -p $PSWD scp $sshoptions ./config/QtipKey root@$INSTALLER_IP:/root + sshpass -p $PSWD ssh $sshoptions root@$INSTALLER_IP "grep -q '\-F /dev/null ' /usr/bin/ssh-copy-id || sed -i 's/\(ssh -i.*$\)/\1\n -F \/dev\/null \\\/g' `which ssh-copy-id`" + sshpass -p $PSWD ssh $sshoptions root@$INSTALLER_IP "ssh-copy-id $sshoptions -i /root/QtipKey root@$DEST_IP && rm -rf /root/QtipKey && rm -rf /root/QtipKey.pub" + ;; + compass) + PSWD="root" + sshpass -p $PSWD scp $sshoptions ./config/QtipKey.pub root@$INSTALLER_IP:/root + sshpass -p $PSWD scp $sshoptions ./config/QtipKey root@$INSTALLER_IP:/root + sshpass -p $PSWD ssh $sshoptions root@$INSTALLER_IP "ssh-copy-id $sshoptions -i /root/QtipKey.pub root@$DEST_IP && rm -rf /root/QtipKey && rm -rf /root/QtipKey.pub" + ;; + joid) + PSWD="joid";; + *) + echo "Unkown installer $INSTALLER_TYPE specified";; +esac diff --git a/legacy/scripts/ref_results/__init__.py b/legacy/scripts/ref_results/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/legacy/scripts/ref_results/compute_benchmarks_indices.py b/legacy/scripts/ref_results/compute_benchmarks_indices.py new file mode 100644 index 00000000..0b6eae36 --- /dev/null +++ b/legacy/scripts/ref_results/compute_benchmarks_indices.py @@ -0,0 +1,160 @@ +from index_calculation import generic_index as get_index +from index_calculation import get_reference +from result_accum import result_concat as concat + + +def dpi_index(): + dpi_dict = concat('results/dpi/') + dpi_bm_ref = get_reference('compute', 'dpi_bm') + dpi_bm_index = get_index(dpi_dict, 'dpi_bm', dpi_bm_ref, 'details', 'bps') + + dpi_vm_ref = get_reference('compute', 'dpi_vm') + dpi_vm_index = get_index(dpi_dict, 'dpi_vm', dpi_vm_ref, 'details', 'bps') + dpi_index = (dpi_bm_index + dpi_vm_index) / 2 + dpi_dict_i = {} + dpi_dict_i['index'] = dpi_index + dpi_dict_i['results'] = dpi_dict + return dpi_dict_i + + +def dhrystone_index(): + + dhrystone_dict = concat('results/dhrystone/') + dhrystone_single_bm_ref = get_reference('compute', 'dhrystone_bm', 'single_cpu') + dhrystone_single_bm_index = get_index(dhrystone_dict, 'dhrystone_bm', dhrystone_single_bm_ref, 'details', 'single', 'score') + + dhrystone_multi_bm_ref = get_reference('compute', 'dhrystone_bm', 'multi_cpu') + dhrystone_multi_bm_index = get_index(dhrystone_dict, 'dhrystone_bm', dhrystone_multi_bm_ref, 'details', 'multi', 'score') + + dhrystone_bm_index = (dhrystone_single_bm_index + dhrystone_multi_bm_index) / 2 + + dhrystone_single_vm_ref = get_reference('compute', 'dhrystone_vm', 'single_cpu') + dhrystone_single_vm_index = get_index(dhrystone_dict, 'dhrystone_vm', dhrystone_single_vm_ref, 'details', 'single', 'score') + + dhrystone_multi_vm_ref = get_reference('compute', 'dhrystone_vm', 'multi_cpu') + dhrystone_multi_vm_index = get_index(dhrystone_dict, 'dhrystone_vm', dhrystone_multi_vm_ref, 'details', 'multi', 'score') + + dhrystone_vm_index = (dhrystone_single_vm_index + dhrystone_multi_vm_index) / 2 + + dhrystone_index = (dhrystone_bm_index + dhrystone_vm_index) / 2 + dhrystone_dict_i = {} + dhrystone_dict_i['index'] = dhrystone_index + dhrystone_dict_i['results'] = dhrystone_dict + return dhrystone_dict_i + + +def whetstone_index(): + + whetstone_dict = concat('results/whetstone/') + whetstone_single_bm_ref = get_reference('compute', 'whetstone_bm', 'single_cpu') + whetstone_single_bm_index = get_index(whetstone_dict, 'whetstone_bm', whetstone_single_bm_ref, 'details', 'single', 'score') + + whetstone_multi_bm_ref = get_reference('compute', 'whetstone_bm', 'multi_cpu') + whetstone_multi_bm_index = get_index(whetstone_dict, 'whetstone_bm', whetstone_multi_bm_ref, 'details', 'multi', 'score') + + whetstone_bm_index = (whetstone_single_bm_index + whetstone_multi_bm_index) / 2 + + whetstone_single_vm_ref = get_reference('compute', 'whetstone_vm', 'single_cpu') + whetstone_single_vm_index = get_index(whetstone_dict, 'whetstone_vm', whetstone_single_vm_ref, 'details', 'single', 'score') + + whetstone_multi_vm_ref = get_reference('compute', 'whetstone_vm', 'multi_cpu') + whetstone_multi_vm_index = get_index(whetstone_dict, 'whetstone_vm', whetstone_multi_vm_ref, 'details', 'multi', 'score') + + whetstone_vm_index = (whetstone_single_vm_index + whetstone_multi_vm_index) / 2 + + whetstone_index = (whetstone_bm_index + whetstone_vm_index) / 2 + whetstone_dict_i = {} + whetstone_dict_i['index'] = whetstone_index + whetstone_dict_i['results'] = whetstone_dict + return whetstone_dict_i + + +def ramspeed_index(): + + ramspeed_dict = concat('results/ramspeed/') + ramspeed_int_bm_ref = get_reference('compute', 'ramspeed_bm', 'INTmem', 'Average (MB/s)') + ramspeed_int_bm_index = get_index(ramspeed_dict, 'ramspeed_bm', ramspeed_int_bm_ref, 'details', 'int_bandwidth', 'average') + + ramspeed_float_bm_ref = get_reference('compute', 'ramspeed_bm', 'FLOATmem', 'Average (MB/s)') + ramspeed_float_bm_index = get_index(ramspeed_dict, 'ramspeed_bm', ramspeed_float_bm_ref, 'details', 'float_bandwidth', 'average') + + ramspeed_bm_index = (ramspeed_int_bm_index + ramspeed_float_bm_index) / 2 + + ramspeed_int_vm_ref = get_reference('compute', 'ramspeed_vm', 'INTmem', 'Average (MB/s)') + ramspeed_int_vm_index = get_index(ramspeed_dict, 'ramspeed_vm', ramspeed_int_vm_ref, 'details', 'int_bandwidth', 'average') + + ramspeed_float_vm_ref = get_reference('compute', 'ramspeed_vm', 'FLOATmem', 'Average (MB/s)') + ramspeed_float_vm_index = get_index(ramspeed_dict, 'ramspeed_vm', ramspeed_float_vm_ref, 'details', 'float_bandwidth', 'average') + + ramspeed_vm_index = (ramspeed_int_vm_index + ramspeed_float_vm_index) / 2 + + ramspeed_index = (ramspeed_vm_index + ramspeed_bm_index) / 2 + + ramspeed_dict_i = {} + ramspeed_dict_i['index'] = ramspeed_index + ramspeed_dict_i['results'] = ramspeed_dict + return ramspeed_dict_i + + +def ssl_index(): + + ssl_dict = concat('results/ssl/') + + ssl_RSA512b_bm_ref = get_reference('compute', 'ssl_bm', 'RSA', '512b') + ssl_RSA1024b_bm_ref = get_reference('compute', 'ssl_bm', 'RSA', '1024b') + ssl_RSA2048b_bm_ref = get_reference('compute', 'ssl_bm', 'RSA', '2048b') + ssl_RSA4096b_bm_ref = get_reference('compute', 'ssl_bm', 'RSA', '4096b') + + ssl_AES16B_bm_ref = get_reference('compute', 'ssl_bm', 'AES', '16B') + ssl_AES64B_bm_ref = get_reference('compute', 'ssl_bm', 'AES', '64B') + ssl_AES256B_bm_ref = get_reference('compute', 'ssl_bm', 'AES', '256B') + ssl_AES1024B_bm_ref = get_reference('compute', 'ssl_bm', 'AES', '1024B') + ssl_AES8192B_bm_ref = get_reference('compute', 'ssl_bm', 'AES', '8192B') + + ssl_RSA512b_bm_index = get_index(ssl_dict, "ssl_bm", ssl_RSA512b_bm_ref, 'details', 'rsa_sig', '512_bits') + ssl_RSA1024b_bm_index = get_index(ssl_dict, "ssl_bm", ssl_RSA1024b_bm_ref, 'details', 'rsa_sig', '1024_bits') + ssl_RSA2048b_bm_index = get_index(ssl_dict, "ssl_bm", ssl_RSA2048b_bm_ref, 'details', 'rsa_sig', '2048_bits') + ssl_RSA4096b_bm_index = get_index(ssl_dict, "ssl_bm", ssl_RSA4096b_bm_ref, 'details', 'rsa_sig', '4096_bits') + ssl_RSA_bm_index = (ssl_RSA512b_bm_index + ssl_RSA1024b_bm_index + ssl_RSA2048b_bm_index + ssl_RSA4096b_bm_index) / 4 + + ssl_AES16B_bm_index = get_index(ssl_dict, "ssl_bm", ssl_AES16B_bm_ref, 'details', 'aes_128_cbc', '16B_block') + ssl_AES64B_bm_index = get_index(ssl_dict, "ssl_bm", ssl_AES64B_bm_ref, 'details', 'aes_128_cbc', '64B_block') + ssl_AES256B_bm_index = get_index(ssl_dict, "ssl_bm", ssl_AES256B_bm_ref, 'details', 'aes_128_cbc', '256B_block') + ssl_AES1024B_bm_index = get_index(ssl_dict, "ssl_bm", ssl_AES1024B_bm_ref, 'details', 'aes_128_cbc', '1024B_block') + ssl_AES8192B_bm_index = get_index(ssl_dict, "ssl_bm", ssl_AES8192B_bm_ref, 'details', 'aes_128_cbc', '8192B_block') + ssl_AES_bm_index = (ssl_AES16B_bm_index + ssl_AES64B_bm_index + ssl_AES256B_bm_index + ssl_AES1024B_bm_index + ssl_AES8192B_bm_index) / 5 + + ssl_bm_index = (ssl_RSA_bm_index + ssl_AES_bm_index) / 2 + + ssl_RSA512b_vm_ref = get_reference('compute', 'ssl_vm', 'RSA', '512b') + ssl_RSA1024b_vm_ref = get_reference('compute', 'ssl_vm', 'RSA', '1024b') + ssl_RSA2048b_vm_ref = get_reference('compute', 'ssl_vm', 'RSA', '2048b') + ssl_RSA4096b_vm_ref = get_reference('compute', 'ssl_vm', 'RSA', '4096b') + + ssl_AES16B_vm_ref = get_reference('compute', 'ssl_vm', 'AES', '16B') + ssl_AES64B_vm_ref = get_reference('compute', 'ssl_vm', 'AES', '64B') + ssl_AES256B_vm_ref = get_reference('compute', 'ssl_vm', 'AES', '256B') + ssl_AES1024B_vm_ref = get_reference('compute', 'ssl_vm', 'AES', '1024B') + ssl_AES8192B_vm_ref = get_reference('compute', 'ssl_vm', 'AES', '8192B') + + ssl_RSA512b_vm_index = get_index(ssl_dict, "ssl_vm", ssl_RSA512b_vm_ref, 'details', 'rsa_sig', '512_bits') + ssl_RSA1024b_vm_index = get_index(ssl_dict, "ssl_vm", ssl_RSA1024b_vm_ref, 'details', 'rsa_sig', '1024_bits') + ssl_RSA2048b_vm_index = get_index(ssl_dict, "ssl_vm", ssl_RSA2048b_vm_ref, 'details', 'rsa_sig', '2048_bits') + ssl_RSA4096b_vm_index = get_index(ssl_dict, "ssl_vm", ssl_RSA4096b_vm_ref, 'details', 'rsa_sig', '4096_bits') + ssl_RSA_vm_index = (ssl_RSA512b_vm_index + ssl_RSA1024b_vm_index + ssl_RSA2048b_vm_index + ssl_RSA4096b_vm_index) / 4 + + ssl_AES16B_vm_index = get_index(ssl_dict, "ssl_vm", ssl_AES16B_vm_ref, 'details', 'aes_128_cbc', '16B_block') + ssl_AES64B_vm_index = get_index(ssl_dict, "ssl_vm", ssl_AES64B_vm_ref, 'details', 'aes_128_cbc', '64B_block') + ssl_AES256B_vm_index = get_index(ssl_dict, "ssl_vm", ssl_AES256B_vm_ref, 'details', 'aes_128_cbc', '256B_block') + ssl_AES1024B_vm_index = get_index(ssl_dict, "ssl_vm", ssl_AES1024B_vm_ref, 'details', 'aes_128_cbc', '1024B_block') + ssl_AES8192B_vm_index = get_index(ssl_dict, "ssl_vm", ssl_AES8192B_vm_ref, 'details', 'aes_128_cbc', '8192B_block') + ssl_AES_vm_index = (ssl_AES16B_vm_index + ssl_AES64B_vm_index + ssl_AES256B_vm_index + ssl_AES1024B_vm_index + ssl_AES8192B_vm_index) / 5 + + ssl_vm_index = (ssl_RSA_vm_index + ssl_AES_vm_index) / 2 + + ssl_index = (ssl_bm_index + ssl_vm_index) / 2 + + ssl_dict_i = {} + ssl_dict_i['index'] = ssl_index + ssl_dict_i['results'] = ssl_dict + return ssl_dict_i diff --git a/legacy/scripts/ref_results/index_calculation.py b/legacy/scripts/ref_results/index_calculation.py new file mode 100644 index 00000000..95c3c4a6 --- /dev/null +++ b/legacy/scripts/ref_results/index_calculation.py @@ -0,0 +1,41 @@ +import json + + +def compute_index(total_measured, ref_result, count): + try: + average = float(total_measured / count) + + except ZeroDivisionError: + average = 0 + index = average / ref_result + return index + + +def get_reference(*args): + + with open('scripts/ref_results/reference.json') as reference_file: + reference_djson = json.load(reference_file) + for arg in args: + ref_n = reference_djson.get(str(arg)) + reference_djson = reference_djson.get(str(arg)) + return ref_n + + +def generic_index(dict_gen, testcase, reference_num, *args): + c = len(args) + count = 0 + total = 0 + result = 0 + for k, v in dict_gen.iteritems(): + dict_temp = dict_gen[k] + if dict_gen[k]['name'] == '{0}.yaml'.format(testcase): + count = count + 1 + for arg in args: + if arg == args[c - 1]: + try: + result = float(dict_temp.get(str(arg))) + except ValueError: + result = float(dict_temp.get(str(arg))[:-1]) * 1000 + dict_temp = dict_temp.get(str(arg)) + total = total + result + return compute_index(total, reference_num, count) diff --git a/legacy/scripts/ref_results/network_benchmarks_indices.py b/legacy/scripts/ref_results/network_benchmarks_indices.py new file mode 100644 index 00000000..c19d18eb --- /dev/null +++ b/legacy/scripts/ref_results/network_benchmarks_indices.py @@ -0,0 +1,20 @@ +from index_calculation import generic_index as get_index +from index_calculation import get_reference +from result_accum import result_concat as concat + + +def iperf_index(): + iperf_dict = concat('results/iperf/') + iperf_bm_ref = get_reference('network', 'iperf_bm', 'throughput received(b/s)') + iperf_bm_index = get_index(iperf_dict, 'iperf_bm', iperf_bm_ref, 'details', 'bandwidth', 'received_throughput') + iperf_vm_ref = get_reference('network', 'iperf_vm', 'throughput received(b/s)') + iperf_vm_index = get_index(iperf_dict, 'iperf_vm', iperf_vm_ref, 'details', 'bandwidth', 'received_throughput') + + iperf_vm_2_ref = get_reference('network', 'iperf_vm_2', 'throughput received(b/s)') + iperf_vm_2_index = get_index(iperf_dict, 'iperf_vm_2', iperf_vm_2_ref, 'details', 'bandwidth', 'received_throughput') + iperf_index = float(iperf_bm_index + iperf_vm_index + iperf_vm_2_index) / 3 + print iperf_index + iperf_dict_i = {} + iperf_dict_i['index'] = iperf_index + iperf_dict_i['results'] = iperf_dict + return iperf_dict_i diff --git a/legacy/scripts/ref_results/reference.json b/legacy/scripts/ref_results/reference.json new file mode 100644 index 00000000..cfcbfc3b --- /dev/null +++ b/legacy/scripts/ref_results/reference.json @@ -0,0 +1,97 @@ +{ + "compute": { + "dhrystone_bm": { + "multi_cpu": 103362.1, + "single_cpu": 3231.7 + }, + "dhrystone_vm": { + "multi_cpu": 10585.8, + "single_cpu": 2953.6 + }, + "dpi_bm": 8.12, + "dpi_vm": 22.12, + "ramspeed_bm": { + "FLOATmem": { + "Average (MB/s)": 9758.79 + }, + "INTmem": { + "Average (MB/s)": 12268.38 + } + }, + "ramspeed_vm": { + "FLOATmem": { + "Average (MB/s)": 9064.09 + }, + "INTmem": { + "Average (MB/s)": 12147.59 + } + }, + "ssl_bm": { + "AES": { + "1024B": 808861020, + "16B": 735490250, + "256B": 803323650, + "64B": 788429210, + "8192B": 807701160 + }, + "RSA": { + "1024b": 7931.44, + "2048b": 1544.3, + "4096b": 161.92, + "512b": 22148.9 + } + }, + "ssl_vm": { + "AES": { + "1024B": 808861020, + "16B": 735490250, + "256B": 803323650, + "64B": 788429210, + "8192B": 807701160 + }, + "RSA": { + "1024b": 7931.44, + "2048b": 1544.3, + "4096b": 161.92, + "512b": 22148.9 + } + }, + "whetstone_bm": { + "multi_cpu": 41483.3, + "single_cpu": 806.1 + }, + "whetstone_vm": { + "multi_cpu": 2950.6, + "single_cpu": 789.0 + } + }, + "network": { + "iperf_bm": { + "throughput received(b/s)": 944473000.0 + }, + "iperf_vm": { + "throughput received(b/s)": 14416700000.0 + }, + "iperf_vm_2": { + "throughput received(b/s)": 2461530000.0 + } + }, + "storage": { + "fio_bm": { + "read": { + "IOPS": 6693 + }, + "write": { + "IOPS": 6688 + } + }, + "fio_vm": { + "read": { + "IOPS": 2239 + }, + "write": { + "IOPS": 2237 + } + } + } +} \ No newline at end of file diff --git a/legacy/scripts/ref_results/result_accum.py b/legacy/scripts/ref_results/result_accum.py new file mode 100644 index 00000000..6cd55886 --- /dev/null +++ b/legacy/scripts/ref_results/result_accum.py @@ -0,0 +1,31 @@ +import os +import json + + +def result_concat(targ_dir): + list_vm = [] + list_bm = [] + diction = {} + + for file in os.listdir(targ_dir): + if file.endswith(".json"): + if file.startswith("instance"): + print str(file) + list_vm.append(file) + else: + list_bm.append(file) + l = len(list_bm) + k = len(list_vm) + + for x in range(0, l): + file_t = list_bm[x] + with open(targ_dir + file_t) as result_file: + result_djson = json.load(result_file) + diction['Baremetal' + str(int(x + 1))] = result_djson + + for x in range(0, k): + file_t = list_vm[x] + with open(targ_dir + file_t) as result_file: + result_djson = json.load(result_file) + diction['Virtual Machine ' + str(x + 1)] = result_djson + return diction diff --git a/legacy/scripts/ref_results/storage_benchmarks_indices.py b/legacy/scripts/ref_results/storage_benchmarks_indices.py new file mode 100644 index 00000000..a5aef638 --- /dev/null +++ b/legacy/scripts/ref_results/storage_benchmarks_indices.py @@ -0,0 +1,29 @@ +from index_calculation import generic_index as get_index +from index_calculation import get_reference +from result_accum import result_concat as concat + + +def fio_index(): + fio_dict = concat('results/fio/') + fio_r_bm_ref = get_reference('storage', 'fio_bm', 'read', 'IOPS') + fio_r_bm_index = get_index(fio_dict, 'fio_bm', fio_r_bm_ref, 'details', 'job_0', 'read', 'io_ps') + fio_w_bm_ref = get_reference('storage', 'fio_bm', 'write', 'IOPS') + fio_w_bm_index = get_index(fio_dict, 'fio_bm', fio_w_bm_ref, 'details', 'job_0', 'write', 'io_ps') + + fio_bm_index = (fio_r_bm_index + fio_w_bm_index) / 2 + + fio_r_vm_ref = get_reference('storage', 'fio_vm', 'read', 'IOPS') + fio_r_vm_index = get_index(fio_dict, 'fio_vm', fio_r_vm_ref, 'details', 'job_0', 'read', 'io_ps') + + fio_w_vm_ref = get_reference('storage', 'fio_vm', 'write', 'IOPS') + fio_w_vm_index = get_index(fio_dict, 'fio_vm', fio_w_vm_ref, 'details', 'job_0', 'write', 'io_ps') + + fio_vm_index = (fio_r_vm_index + fio_w_vm_index) / 2 + + fio_index = (fio_bm_index + fio_vm_index) / 2 + print fio_index + + fio_dict_i = {} + fio_dict_i['index'] = fio_index + fio_dict_i['results'] = fio_dict + return fio_dict_i diff --git a/legacy/scripts/ref_results/suite_result.py b/legacy/scripts/ref_results/suite_result.py new file mode 100644 index 00000000..66213391 --- /dev/null +++ b/legacy/scripts/ref_results/suite_result.py @@ -0,0 +1,58 @@ +############################################################################## +# Copyright (c) 2016 ZTE Corp and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## +import json +import importlib +import sys +from qtip.utils import logger_utils +from os.path import expanduser + +logger = logger_utils.QtipLogger('suite_result').get + + +def get_benchmark_result(benchmark_name, suite_name): + benchmark_indices = importlib.import_module('scripts.ref_results' + '.{0}_benchmarks_indices'.format(suite_name)) + methodToCall = getattr(benchmark_indices, '{0}_index'.format(benchmark_name)) + return methodToCall() + + +def get_suite_result(suite_name): + suite_dict = {} + suite_bench_list = {'compute': ['DPI', 'Dhrystone', 'Whetstone', 'SSL', 'RamSpeed'], + 'storage': ['FIO'], + 'network': ['IPERF']} + temp = 0 + l = len(suite_bench_list[suite_name]) + for benchmark in suite_bench_list[suite_name]: + try: + suite_dict[benchmark] = get_benchmark_result(benchmark.lower(), suite_name) + temp = temp + float(suite_dict[benchmark]['index']) + except OSError: + l = l - 1 + pass + + if l == 0: + logger.info("No {0} suite results found".format(suite_name)) + return False + else: + suite_index = temp / l + suite_dict_f = {'index': suite_index, + 'suite_results': suite_dict} + result_path = expanduser('~') + '/qtip/results' + with open('{0}/{1}_result.json'.format(result_path, suite_name), 'w+') as result_json: + json.dump(suite_dict_f, result_json, indent=4, sort_keys=True) + return True + + +def main(): + get_suite_result(sys.argv[1]) + + +if __name__ == "__main__": + main() diff --git a/legacy/scripts/ssh_exch.exp b/legacy/scripts/ssh_exch.exp new file mode 100644 index 00000000..c52140b7 --- /dev/null +++ b/legacy/scripts/ssh_exch.exp @@ -0,0 +1,9 @@ +#1 /usr/bin/expect +set timeout 4 +set ip [lindex $argv 0] +set pswd [lindex $argv 1] +spawn ssh-copy-id -i QtipKey $ip +expect "Are you sure you want to continue connecting" {send "yes\r"} +expect "password:" { send "$pswd\r"} + +interact -- cgit 1.2.3-korg