summaryrefslogtreecommitdiffstats
path: root/tests/run.sh
diff options
context:
space:
mode:
authorUmar Farooq <umar.farooq@neclab.eu>2017-07-13 12:20:56 +0200
committerRyota Mibu <r-mibu@cq.jp.nec.com>2017-08-09 04:39:54 +0000
commit282369b6fd58a78e6a7c91f21b331363d4ed0fb3 (patch)
tree3dc95a2c16ca948627df6fb93629a3652e620211 /tests/run.sh
parentdb6d9cdcb37fee810fdf59e4d96b9a5139b5c8b7 (diff)
Add Collectd as a Monitor Type
A plugin for collectd is added to use collectd on compute as a monitor type. Monitor files are updated accordingly. The inspector now listens on all interfaces instead of only localhost to enable it to communicate with compute node. JIRA: DOCTOR-86 JIRA: DOCTOR-101 Change-Id: Idc834d428152e4687020eff7d8db36a652b1bf86 Signed-off-by: Umar Farooq <umar.farooq@neclab.eu>
Diffstat (limited to 'tests/run.sh')
-rwxr-xr-xtests/run.sh31
1 files changed, 16 insertions, 15 deletions
diff --git a/tests/run.sh b/tests/run.sh
index abdad58c..69f18b20 100755
--- a/tests/run.sh
+++ b/tests/run.sh
@@ -212,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 &
@@ -294,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
@@ -303,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 &'
@@ -327,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)
@@ -431,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)
@@ -467,6 +464,7 @@ cleanup() {
cleanup_installer
cleanup_inspector
+ cleanup_monitor
# NOTE: Temporal log printer.
for f in $(find . -name '*.log')
@@ -511,6 +509,9 @@ 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
@@ -540,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