summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordongwenjuan <dong.wenjuan@zte.com.cn>2016-08-18 16:20:44 +0800
committerRyota Mibu <r-mibu@cq.jp.nec.com>2016-08-20 13:41:15 +0000
commitf12254fdeed533dbd6dc1d5da63032b7676f6060 (patch)
treee7c3e896c6ff61cc055c5dc4fa584b8e3e4ba6df
parent1f2f6c3c33b74ca81eaeecba969720c85aad107d (diff)
refactor some commmon function
get installer info and get key to access cloud can be picked up as common function for prepare env before test Change-Id: I1a96c4ad12f3f36dec0291c2f458e97e85f3ca27 Signed-off-by: dongwenjuan <dong.wenjuan@zte.com.cn>
-rwxr-xr-xtests/run.sh74
1 files changed, 45 insertions, 29 deletions
diff --git a/tests/run.sh b/tests/run.sh
index 965f9786..0852a67a 100755
--- a/tests/run.sh
+++ b/tests/run.sh
@@ -46,6 +46,46 @@ if [[ ! "$SUPPORTED_INSPECTOR_TYPES" =~ "$INSPECTOR_TYPE" ]] ; then
exit 1
fi
+get_installer_ip() {
+ if [[ "$INSTALLER_TYPE" == "apex" ]] ; then
+ if [[ "$INSTALLER_IP" == "none" ]] ; then
+ instack_mac=$(sudo virsh domiflist instack | awk '/default/{print $5}')
+ INSTALLER_IP=$(/usr/sbin/arp -e | grep ${instack_mac} | awk '{print $1}')
+ fi
+ elif [[ "$INSTALLER_TYPE" == "fuel" ]] ; then
+ if [[ "$INSTALLER_IP" == "none" ]] ; then
+ instack_mac=$(sudo virsh domiflist fuel-opnfv | awk '/pxebr/{print $5}')
+ INSTALLER_IP=$(/usr/sbin/arp -e | grep ${instack_mac} | awk '{print $1}')
+ fi
+ fi
+
+ if [[ "$INSTALLER_TYPE" -ne "local" ]] ; then
+ if [[ -z "$INSTALLER_IP" ]] ; then
+ echo "ERROR: no installer ip"
+ exit 1
+ fi
+ fi
+}
+
+prepare_ssh_to_cloud() {
+ ssh_opts_cpu="$ssh_opts"
+
+ # get ssh key from installer node
+ if [[ "$INSTALLER_TYPE" == "apex" ]] ; then
+ sudo scp $ssh_opts root@"$INSTALLER_IP":/home/stack/.ssh/id_rsa instack_key
+ sudo chown $(whoami):$(whoami) instack_key
+ chmod 400 instack_key
+ ssh_opts_cpu+=" -i instack_key"
+ elif [[ "$INSTALLER_TYPE" == "fuel" ]] ; then
+ sshpass -p r00tme scp $ssh_opts root@${INSTALLER_IP}:.ssh/id_rsa instack_key
+ sudo chown $(whoami):$(whoami) instack_key
+ chmod 400 instack_key
+ ssh_opts_cpu+=" -i instack_key"
+ elif [[ "$INSTALLER_TYPE" == "local" ]] ; then
+ echo "INSTALLER_TYPE set to 'local'. Assuming SSH keys already exchanged with $COMPUTE_HOST"
+ fi
+}
+
get_compute_host_info() {
# get computer host info which VM boot in
COMPUTE_HOST=$(openstack $as_doctor_user server show $VM_NAME |
@@ -58,20 +98,12 @@ get_compute_host_info() {
if [[ "$INSTALLER_TYPE" == "apex" ]] ; then
COMPUTE_USER=${COMPUTE_USER:-heat-admin}
- if [[ "$INSTALLER_IP" == "none" ]] ; then
- instack_mac=$(sudo virsh domiflist instack | awk '/default/{print $5}')
- INSTALLER_IP=$(/usr/sbin/arp -e | grep ${instack_mac} | awk '{print $1}')
- fi
COMPUTE_IP=$(sudo ssh $ssh_opts $INSTALLER_IP \
"source stackrc; \
nova show $compute_host_in_undercloud \
| awk '/ ctlplane network /{print \$5}'")
elif [[ "$INSTALLER_TYPE" == "fuel" ]] ; then
COMPUTE_USER=${COMPUTE_USER:-root}
- if [[ "$INSTALLER_IP" == "none" ]] ; then
- instack_mac=$(sudo virsh domiflist fuel-opnfv | awk '/pxebr/{print $5}')
- INSTALLER_IP=$(/usr/sbin/arp -e | grep ${instack_mac} | awk '{print $1}')
- fi
node_id=$(echo $compute_host_in_undercloud | cut -d "-" -f 2)
COMPUTE_IP=$(sshpass -p r00tme ssh 2>/dev/null $ssh_opts root@${INSTALLER_IP} \
"fuel node|awk -F '|' -v id=$node_id '{if (\$1 == id) print \$5}' |xargs")
@@ -93,25 +125,6 @@ get_compute_host_info() {
echo "ERROR: can not ping to computer host"
exit 1
fi
-}
-
-prepare_compute_ssh() {
- ssh_opts_cpu="$ssh_opts"
-
- # get ssh key from installer node
- if [[ "$INSTALLER_TYPE" == "apex" ]] ; then
- sudo scp $ssh_opts root@"$INSTALLER_IP":/home/stack/.ssh/id_rsa instack_key
- sudo chown $(whoami):$(whoami) instack_key
- chmod 400 instack_key
- ssh_opts_cpu+=" -i instack_key"
- elif [[ "$INSTALLER_TYPE" == "fuel" ]] ; then
- sshpass -p r00tme scp $ssh_opts root@${INSTALLER_IP}:.ssh/id_rsa instack_key
- sudo chown $(whoami):$(whoami) instack_key
- chmod 400 instack_key
- ssh_opts_cpu+=" -i instack_key"
- elif [[ "$INSTALLER_TYPE" == "local" ]] ; then
- echo "INSTALLER_TYPE set to 'local'. Assuming SSH keys already exchanged with $COMPUTE_HOST"
- fi
# verify ssh to target compute host
ssh $ssh_opts_cpu "$COMPUTE_USER@$COMPUTE_IP" 'exit'
@@ -412,6 +425,10 @@ echo "Note: doctor/tests/run.sh has been executed."
trap cleanup EXIT
+echo "preparing test env..."
+get_installer_ip
+prepare_ssh_to_cloud
+
echo "preparing VM image..."
download_image
register_image
@@ -424,9 +441,8 @@ boot_vm
wait_for_vm_launch
openstack $as_doctor_user server show $VM_NAME
-echo "get computer host info and prepare to ssh..."
+echo "get computer host info..."
get_compute_host_info
-prepare_compute_ssh
echo "creating alarm..."
get_consumer_ip