diff options
Diffstat (limited to 'tests/ci/run_compute_qpi.sh')
-rw-r--r-- | tests/ci/run_compute_qpi.sh | 95 |
1 files changed, 95 insertions, 0 deletions
diff --git a/tests/ci/run_compute_qpi.sh b/tests/ci/run_compute_qpi.sh new file mode 100644 index 00000000..09762b15 --- /dev/null +++ b/tests/ci/run_compute_qpi.sh @@ -0,0 +1,95 @@ +#!/bin/bash +############################################################################## +# Copyright (c) 2017 ZTE 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 +############################################################################## +set -e + +usage(){ + echo "usage: $0 -t <installer_type> -i <installer_ip> -p <pod_name> -s <scenario> -r <report_url>" >&2 +} + +verify_connectivity(){ + local ip=$1 + echo "Verifying connectivity to $ip..." + for i in $(seq 0 10); do + if ping -c 1 -W 1 $ip > /dev/null; then + echo "$ip is reachable!" + return 0 + fi + sleep 1 + done + error "Can not talk to $ip." +} + +#Getoptions +while getopts ":t:i:p:s:r:he" optchar; do + case "${optchar}" in + t) installer_type=${OPTARG} ;; + i) installer_ip=${OPTARG} ;; + p) pod_name=${OPTARG} ;; + s) scenario=${OPTARG} ;; + r) testapi_url=${OPTARG} ;; + h) usage + exit 0 + ;; + *) 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} +pod_name=${pod_name:-$POD_NAME} +scenario=${scenario:-$SCENARIO} +testapi_url=${testapi_url:-$TESTAPI_URL} + +# we currently support ericsson, intel, lf and zte labs +if [[ ! "$installer_type" =~ (fuel|apex) ]]; then + echo "Unsupported/unidentified installer $installer_type. Cannot continue!" + exit 1 +fi + +sshoptions="-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" + +verify_connectivity ${installer_ip} + +case "$installer_type" in + fuel) + ssh-keygen -t rsa -N "" -f ~/.ssh/id_rsa -q + sshpass -p r00tme ssh-copy-id $sshoptions ${installer_ip} + ;; +esac + +cd /home/opnfv + +qtip create --pod-name ${pod_name} --installer-type ${installer_type} \ +--installer-host ${installer_ip} --scenario ${scenario} workspace + +cd /home/opnfv/workspace/ + +qtip setup +eval `ssh-agent` +if [[ -z $testapi_url ]];then + qtip run +else + qtip run --extra-vars "testapi_url=$testapi_url" +fi +qtip teardown + +# Remove ssh public key from installer +case "$installer_type" in + fuel) + publickey=$(sed -r 's/\//\\\//g' /root/.ssh/id_rsa.pub) + ssh $sshoptions root@${installer_ip} "sed -i '/$publickey/d' /root/.ssh/authorized_keys" + ;; +esac + +echo "Compute QPI done!" +exit 0
\ No newline at end of file |