X-Git-Url: https://osm.etsi.org/gitweb/?p=osm%2Fvim-emu.git;a=blobdiff_plain;f=utils%2Fci%2Ftest_sdk_monitor.sh;h=8c3ce4708f8bcd512a668bb16ada61b05fa7ecf4;hp=26f939f920235df3d0de6fad6fa2672d6a38497c;hb=fe94c7029fe909612427ef92784a80a8c46e7b67;hpb=a38b8af5f15b0570924d3563682d800e669abb2b diff --git a/utils/ci/test_sdk_monitor.sh b/utils/ci/test_sdk_monitor.sh index 26f939f..8c3ce47 100755 --- a/utils/ci/test_sdk_monitor.sh +++ b/utils/ci/test_sdk_monitor.sh @@ -1,15 +1,59 @@ #!/bin/bash -# test if a vnf can be monitored and deployed +set -e +set -x -cpu_load=$(son-emu-cli monitor prometheus -d datacenter1 -vnf vnf1 -q 'sum(rate(container_cpu_usage_seconds_total{id="/docker/"}[10s]))') +# test if a vnf can be deployed and monitored + +#start test emulator topology +#python src/emuvim/examples/monitoring_demo_topology.py & + +# start a vnf +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)' + +sleep 1 + +# monitor a metric +son-emu-cli monitor setup_metric -vnf vnf1:output --metric tx_packets + +# allow some time to gather metrics +sleep 20 + +# check if metric is monitored as expected (exported by son-emu, has vnf name as metric id) +tx_rate=$(son-emu-cli monitor-zapi prometheus -d datacenter1 -vnf vnf1 -q 'rate(sonemu_tx_count_packets{vnf_name="vnf1"}[10s])') + +sleep 1 # test if prometheus query worked -regex="[0-9.]+, [0-9.']+" +echo $tx_rate + +regex='\[[0-9.]*, .*\]' + +if [[ $tx_rate =~ $regex ]] ; then + echo " tx_rate monitor test OK" +else + echo "tx_rate monitor test not OK" + exit 1 +fi + + +# check if cpu load can be monitored (exported by cAdvisor, needs uuid) +cpu_load=$(son-emu-cli monitor-zapi prometheus -d datacenter1 -vnf vnf1 -q 'sum(rate(container_cpu_usage_seconds_total{id="/docker/"}[10s]))') + +sleep 1 + + +# test if prometheus query worked +echo $cpu_load + +regex='\[[0-9.]*, .*\]' + if [[ $cpu_load =~ $regex ]] ; then - echo "OK" - exit 0 + echo " cpu monitor test OK" else - echo $cpu_load - echo "not OK" + echo "cpu monitor test not OK" exit 1 fi + +exit 0 + +