X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=tests%2Frun.sh;h=69f18b206bfd007450d6a3334785da25db2411c9;hb=282369b6fd58a78e6a7c91f21b331363d4ed0fb3;hp=34a52878d5670b8fe455912b37f0dd17f447fc16;hpb=6442090131eb020d3caba0ac26fedcf13fee9c9a;p=doctor.git diff --git a/tests/run.sh b/tests/run.sh index 34a52878..69f18b20 100755 --- a/tests/run.sh +++ b/tests/run.sh @@ -30,6 +30,7 @@ DOCTOR_PW=doctor DOCTOR_PROJECT=doctor DOCTOR_ROLE=_member_ PROFILER_TYPE=${PROFILER_TYPE:-none} +PYTHON_ENABLE=${PYTHON_ENABLE:-false} TOP_DIR=$(cd $(dirname "$0") && pwd) @@ -47,7 +48,7 @@ as_admin_user="--os-username admin --os-project-name $DOCTOR_PROJECT get_compute_host_info() { # get computer host info which first VM boot in as admin user COMPUTE_HOST=$(openstack $as_admin_user server show ${VM_BASENAME}1 | - grep "OS-EXT-SRV-ATTR:host" | awk '{ print $4 }') + grep "OS-EXT-SRV-ATTR:host " | awk '{ print $4 }') compute_host_in_undercloud=${COMPUTE_HOST%%.*} die_if_not_set $LINENO COMPUTE_HOST "Failed to get compute hostname" @@ -211,17 +212,6 @@ create_alarm() { done } -start_monitor() { - pgrep -f "python monitor.py" && return 0 - sudo -E python monitor.py "$COMPUTE_HOST" "$COMPUTE_IP" "$INSPECTOR_TYPE" \ - > monitor.log 2>&1 & -} - -stop_monitor() { - pgrep -f "python monitor.py" || return 0 - sudo kill $(pgrep -f "python monitor.py") -} - start_consumer() { pgrep -f "python consumer.py" && return 0 python consumer.py "$CONSUMER_PORT" > consumer.log 2>&1 & @@ -293,8 +283,12 @@ inject_failure() { echo "disabling network of compute host [$COMPUTE_HOST] for 3 mins..." cat > disable_network.sh << 'END_TXT' #!/bin/bash -x -dev=$(sudo ip a | awk '/ @COMPUTE_IP@\//{print $NF}') sleep 1 +if [ -n "@INTERFACE_NAME@" ]; then + dev=@INTERFACE_NAME@ +else + dev=$(sudo ip a | awk '/ @COMPUTE_IP@\//{print $NF}') +fi sudo ip link set $dev down echo "doctor set link down at" $(date "+%s.%N") sleep 180 @@ -302,6 +296,7 @@ sudo ip link set $dev up sleep 1 END_TXT sed -i -e "s/@COMPUTE_IP@/$COMPUTE_IP/" disable_network.sh + sed -i -e "s/@INTERFACE_NAME@/$INTERFACE_NAME/" disable_network.sh chmod +x disable_network.sh scp $ssh_opts_cpu disable_network.sh "$COMPUTE_USER@$COMPUTE_IP:" ssh $ssh_opts_cpu "$COMPUTE_USER@$COMPUTE_IP" 'nohup ./disable_network.sh > disable_network.log 2>&1 &' @@ -326,8 +321,11 @@ calculate_notification_time() { wait_consumer 60 #keep 'at' as the last keyword just before the value, and #use regex to get value instead of the fixed column + if [ ! -f monitor.log ]; then + scp $ssh_opts_cpu "$COMPUTE_USER@$COMPUTE_IP:monitor.log" . + fi detected=$(grep "doctor monitor detected at" monitor.log |\ - sed -e "s/^.* at //") + sed -e "s/^.* at //" | tail -1) notified=$(grep "doctor consumer notified at" consumer.log |\ sed -e "s/^.* at //" | tail -1) @@ -430,11 +428,11 @@ run_profiler() { cleanup() { set +e echo "cleanup..." - stop_monitor stop_inspector stop_consumer unset_forced_down_hosts + stop_monitor collect_logs vms=$(openstack $as_doctor_user server list) @@ -466,6 +464,7 @@ cleanup() { cleanup_installer cleanup_inspector + cleanup_monitor # NOTE: Temporal log printer. for f in $(find . -name '*.log') @@ -477,16 +476,42 @@ cleanup() { done } +setup_python_packages() { + sudo pip install flask==0.10.1 + command -v openstack || sudo pip install python-openstackclient==2.3.0 + command -v ceilometer || sudo pip install python-ceilometerclient==2.6.2 + command -v congress || sudo pip install python-congressclient==1.5.0 +} + # Main process +if [[ $PYTHON_ENABLE == [Tt]rue ]]; then + which tox || sudo pip install tox + if [ -f /usr/bin/apt-get ]; then + sudo apt-get install -y python3-dev + elif [ -f /usr/bin/yum ] ; then + sudo yum install -y python3-devel + fi + + cd $TOP_DIR + echo "executing tox..." + tox + exit $? +fi + echo "Note: doctor/tests/run.sh has been executed." git log --oneline -1 || true # ignore even you don't have git installed trap cleanup EXIT +setup_python_packages + source $TOP_DIR/functions-common source $TOP_DIR/lib/installer source $TOP_DIR/lib/inspector +source $TOP_DIR/lib/monitor + +rm -f *.log setup_installer @@ -516,8 +541,8 @@ echo "injecting host failure..." inject_failure check_host_status "(DOWN|UNKNOWN)" 60 -calculate_notification_time unset_forced_down_hosts +calculate_notification_time collect_logs run_profiler