blob: 08e52e54b8076108fec8db2710cc41cdbf2ec489 [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
stevenvanrossem050c2612016-06-28 12:02:02 +02008son-emu-cli compute-zapi start -d datacenter1 -n vnf1 --net '(id=input,ip=10.0.10.3/24),(id=output,ip=10.0.10.4/24)'
stevenvanrossem48db0512016-05-18 15:43:24 +02009
10sleep 1
11
stevenvanrossema01329c2016-05-17 10:06:30 +020012# monitor a metric
13son-emu-cli monitor setup_metric -vnf vnf1:output --metric tx_packets
14
15sleep 5
16
stevenvanrossem000237b2016-06-28 13:15:28 +020017# check if metric is monitored as expected (exported by son-emu, has vnf name as metric id)
18tx_rate=$(son-emu-cli monitor prometheus -d datacenter1 -vnf vnf1 -q 'rate(sonemu_tx_count_packets{vnf_name="vnf1"}[1m])')
19
20
21# test if prometheus query worked
22echo $tx_rate
23
24regex='\[[0-9.]*, .*\]'
25
26if [[ $tx_rate =~ $regex ]] ; then
27 echo " tx_rate monitor test OK"
28else
29 echo "tx_rate monitor test not OK"
30 exit 1
31fi
32
33
34# check if cpu load can be monitored (exported by cAdvisor, needs uuid)
stevenvanrossem2fdfbf42016-05-13 15:08:47 +020035cpu_load=$(son-emu-cli monitor prometheus -d datacenter1 -vnf vnf1 -q 'sum(rate(container_cpu_usage_seconds_total{id="/docker/<uuid>"}[10s]))')
36
stevenvanrossem48db0512016-05-18 15:43:24 +020037sleep 1
38
stevenvanrossema01329c2016-05-17 10:06:30 +020039
stevenvanrossem2fdfbf42016-05-13 15:08:47 +020040# test if prometheus query worked
stevenvanrossem75009bd2016-05-18 10:59:48 +020041echo $cpu_load
stevenvanrossem1a6843a2016-05-19 12:19:36 +020042
43regex='\[[0-9.]*, .*\]'
44
stevenvanrossem2fdfbf42016-05-13 15:08:47 +020045if [[ $cpu_load =~ $regex ]] ; then
stevenvanrossema01329c2016-05-17 10:06:30 +020046 echo " cpu monitor test OK"
stevenvanrossem2fdfbf42016-05-13 15:08:47 +020047else
stevenvanrossema01329c2016-05-17 10:06:30 +020048 echo "cpu monitor test not OK"
stevenvanrossem2fdfbf42016-05-13 15:08:47 +020049 exit 1
50fi
stevenvanrossem1a6843a2016-05-19 12:19:36 +020051
stevenvanrossem000237b2016-06-28 13:15:28 +020052exit 0
53
stevenvanrossem1a6843a2016-05-19 12:19:36 +020054