X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=utils%2Fci%2Ftest_sdk_monitor.sh;h=8c3ce4708f8bcd512a668bb16ada61b05fa7ecf4;hb=d5c82188ee752265fc6271430f8dbb4dde242b29;hp=51e5e7ab7191e9eabc2285caef90ddf81f41f6eb;hpb=1a6843a29e131df6719e5a859e1460d957879458;p=osm%2Fvim-emu.git diff --git a/utils/ci/test_sdk_monitor.sh b/utils/ci/test_sdk_monitor.sh index 51e5e7a..8c3ce47 100755 --- a/utils/ci/test_sdk_monitor.sh +++ b/utils/ci/test_sdk_monitor.sh @@ -1,4 +1,7 @@ #!/bin/bash +set -e +set -x + # test if a vnf can be deployed and monitored #start test emulator topology @@ -12,20 +15,32 @@ sleep 1 # monitor a metric son-emu-cli monitor setup_metric -vnf vnf1:output --metric tx_packets -sleep 5 +# allow some time to gather metrics +sleep 20 -# check if metric is monitored as expected -cpu_load=$(son-emu-cli monitor prometheus -d datacenter1 -vnf vnf1 -q 'sum(rate(container_cpu_usage_seconds_total{id="/docker/"}[10s]))') +# 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 -# stop the monitor -son-emu-cli monitor stop_metric -vnf vnf1:output --metric tx_packets +# test if prometheus query worked +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 -#stop the vnf -son-emu-cli compute stop -d datacenter1 -n vnf1 # test if prometheus query worked echo $cpu_load @@ -34,10 +49,11 @@ regex='\[[0-9.]*, .*\]' if [[ $cpu_load =~ $regex ]] ; then echo " cpu monitor test OK" - exit 0 else echo "cpu monitor test not OK" exit 1 fi +exit 0 +