| stevenvanrossem | 2fdfbf4 | 2016-05-13 15:08:47 +0200 | [diff] [blame] | 1 | #!/bin/bash |
| stevenvanrossem | a01329c | 2016-05-17 10:06:30 +0200 | [diff] [blame] | 2 | # test if a vnf can be deployed and monitored |
| stevenvanrossem | 2fdfbf4 | 2016-05-13 15:08:47 +0200 | [diff] [blame] | 3 | |
| stevenvanrossem | a01329c | 2016-05-17 10:06:30 +0200 | [diff] [blame] | 4 | #start test emulator topology |
| stevenvanrossem | 02aa196 | 2016-05-17 15:45:43 +0200 | [diff] [blame] | 5 | #python src/emuvim/examples/monitoring_demo_topology.py & |
| stevenvanrossem | a01329c | 2016-05-17 10:06:30 +0200 | [diff] [blame] | 6 | |
| 7 | # start a vnf |
| 8 | son-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)' |
| stevenvanrossem | 48db051 | 2016-05-18 15:43:24 +0200 | [diff] [blame] | 9 | |
| 10 | sleep 1 |
| 11 | |
| stevenvanrossem | a01329c | 2016-05-17 10:06:30 +0200 | [diff] [blame] | 12 | # monitor a metric |
| 13 | son-emu-cli monitor setup_metric -vnf vnf1:output --metric tx_packets |
| 14 | |
| 15 | sleep 5 |
| 16 | |
| 17 | # check if metric is monitored as expected |
| stevenvanrossem | 2fdfbf4 | 2016-05-13 15:08:47 +0200 | [diff] [blame] | 18 | cpu_load=$(son-emu-cli monitor prometheus -d datacenter1 -vnf vnf1 -q 'sum(rate(container_cpu_usage_seconds_total{id="/docker/<uuid>"}[10s]))') |
| 19 | |
| stevenvanrossem | 48db051 | 2016-05-18 15:43:24 +0200 | [diff] [blame] | 20 | sleep 1 |
| 21 | |
| stevenvanrossem | a01329c | 2016-05-17 10:06:30 +0200 | [diff] [blame] | 22 | # stop the monitor |
| 23 | son-emu-cli monitor stop_metric -vnf vnf1:output --metric tx_packets |
| 24 | |
| stevenvanrossem | 48db051 | 2016-05-18 15:43:24 +0200 | [diff] [blame] | 25 | sleep 1 |
| 26 | |
| stevenvanrossem | a01329c | 2016-05-17 10:06:30 +0200 | [diff] [blame] | 27 | #stop the vnf |
| 28 | son-emu-cli compute stop -d datacenter1 -n vnf1 |
| 29 | |
| stevenvanrossem | 2fdfbf4 | 2016-05-13 15:08:47 +0200 | [diff] [blame] | 30 | # test if prometheus query worked |
| stevenvanrossem | 75009bd | 2016-05-18 10:59:48 +0200 | [diff] [blame] | 31 | echo $cpu_load |
| stevenvanrossem | 1a6843a | 2016-05-19 12:19:36 +0200 | [diff] [blame] | 32 | |
| 33 | regex='\[[0-9.]*, .*\]' |
| 34 | |
| stevenvanrossem | 2fdfbf4 | 2016-05-13 15:08:47 +0200 | [diff] [blame] | 35 | if [[ $cpu_load =~ $regex ]] ; then |
| stevenvanrossem | a01329c | 2016-05-17 10:06:30 +0200 | [diff] [blame] | 36 | echo " cpu monitor test OK" |
| stevenvanrossem | 2fdfbf4 | 2016-05-13 15:08:47 +0200 | [diff] [blame] | 37 | exit 0 |
| 38 | else |
| stevenvanrossem | a01329c | 2016-05-17 10:06:30 +0200 | [diff] [blame] | 39 | echo "cpu monitor test not OK" |
| stevenvanrossem | 2fdfbf4 | 2016-05-13 15:08:47 +0200 | [diff] [blame] | 40 | exit 1 |
| 41 | fi |
| stevenvanrossem | 1a6843a | 2016-05-19 12:19:36 +0200 | [diff] [blame] | 42 | |
| 43 | |