- detect=$(grep "doctor monitor detected at" monitor.log | awk '{print $5}')
- notified=$(grep "doctor consumer notified at" consumer.log | awk '{print $5}')
- duration=$(echo "$notified $detect" | awk '{print $1 - $2 }')
- echo "$notified $detect" | \
- awk '{d = $1 - $2; if (d < 1 ) print d " OK"; else print d " NG"}'
+ detected=$(grep "doctor monitor detected at" monitor.log | awk '{print $10}')
+ notified=$(grep "doctor consumer notified at" consumer.log | awk '{print $10}')
+ if ! grep -q "doctor consumer notified at" consumer.log ; then
+ die $LINENO "Consumer hasn't received fault notification."
+ fi
+ echo "$notified $detected" | \
+ awk '{
+ d = $1 - $2;
+ if (d < 1 && d > 0) { print d " OK"; exit 0 }
+ else { print d " NG"; exit 1 }
+ }'
+}
+
+check_host_status() {
+ expected_state=$1
+
+ host_status_line=$(openstack $as_doctor_user --os-compute-api-version 2.16 \
+ server show $VM_NAME | grep "host_status")
+ host_status=$(echo $host_status_line | awk '{print $4}')
+ die_if_not_set $LINENO host_status "host_status not reported by: nova show $VM_NAME"
+ if [[ "$expected_state" =~ "$host_status" ]] ; then
+ echo "$VM_NAME showing host_status: $host_status"
+ else
+ die $LINENO "host_status:$host_status not equal to expected_state: $expected_state"
+ fi
+}
+
+cleanup() {
+ set +e
+ echo "cleanup..."
+ stop_monitor
+ stop_inspector
+ stop_consumer
+
+ echo "waiting disabled compute host back to be enabled..."
+ python ./nova_force_down.py "$COMPUTE_HOST" --unset
+ sleep 240
+ check_host_status "UP"
+ scp $ssh_opts_cpu "$COMPUTE_USER@$COMPUTE_IP:disable_network.log" .
+
+ openstack $as_doctor_user server list | grep -q " $VM_NAME " && openstack $as_doctor_user server delete "$VM_NAME"
+ sleep 1
+ alarm_id=$(ceilometer $as_doctor_user alarm-list | grep " $ALARM_NAME " | awk '{print $2}')
+ sleep 1
+ [ -n "$alarm_id" ] && ceilometer $as_doctor_user alarm-delete "$alarm_id"
+ sleep 1
+
+ image_id=$(openstack image list | grep " $IMAGE_NAME " | awk '{print $2}')
+ sleep 1
+ #if an existing image was used, there's no need to remove it here
+ if [[ "$use_existing_image" == false ]] ; then
+ [ -n "$image_id" ] && openstack image delete "$image_id"
+ fi
+ openstack role remove "$DOCTOR_ROLE" --user "$DOCTOR_USER" \
+ --project "$DOCTOR_PROJECT"
+ openstack project delete "$DOCTOR_PROJECT"
+ openstack user delete "$DOCTOR_USER"
+
+ cleanup_installer