blob: 3a1d09cba5c64bcd87faf0e0dca1906f0899bb4e [file] [log] [blame]
stevenvanrossem2fdfbf42016-05-13 15:08:47 +02001#!/bin/bash
stevenvanrossema01329c2016-05-17 10:06:30 +02002# test if a vnf can be deployed and monitored
stevenvanrossem2fdfbf42016-05-13 15:08:47 +02003
stevenvanrossema01329c2016-05-17 10:06:30 +02004#start test emulator topology
stevenvanrossem02aa1962016-05-17 15:45:43 +02005#python src/emuvim/examples/monitoring_demo_topology.py &
stevenvanrossema01329c2016-05-17 10:06:30 +02006
7# start a vnf
8son-emu-cli compute start -d datacenter1 -n vnf1 --net '(id=input,ip=10.0.10.3/24),(id=output,ip=10.0.10.4/24)'
9# monitor a metric
10son-emu-cli monitor setup_metric -vnf vnf1:output --metric tx_packets
11
12sleep 5
13
14# check if metric is monitored as expected
stevenvanrossem2fdfbf42016-05-13 15:08:47 +020015cpu_load=$(son-emu-cli monitor prometheus -d datacenter1 -vnf vnf1 -q 'sum(rate(container_cpu_usage_seconds_total{id="/docker/<uuid>"}[10s]))')
16
stevenvanrossema01329c2016-05-17 10:06:30 +020017# stop the monitor
18son-emu-cli monitor stop_metric -vnf vnf1:output --metric tx_packets
19
20#stop the vnf
21son-emu-cli compute stop -d datacenter1 -n vnf1
22
stevenvanrossem2fdfbf42016-05-13 15:08:47 +020023# test if prometheus query worked
stevenvanrossem75009bd2016-05-18 10:59:48 +020024echo $cpu_load
stevenvanrossem2fdfbf42016-05-13 15:08:47 +020025if [[ $cpu_load =~ $regex ]] ; then
stevenvanrossema01329c2016-05-17 10:06:30 +020026 echo " cpu monitor test OK"
stevenvanrossem2fdfbf42016-05-13 15:08:47 +020027 exit 0
28else
stevenvanrossema01329c2016-05-17 10:06:30 +020029 echo "cpu monitor test not OK"
stevenvanrossem2fdfbf42016-05-13 15:08:47 +020030 exit 1
31fi