X-Git-Url: https://osm.etsi.org/gitweb/?p=osm%2Fvim-emu.git;a=blobdiff_plain;f=utils%2Fci%2Fcheck_manual_usage_example.sh;h=8bd5584e692383ec37166d1577a5389e7e495176;hp=677b6734243d6efd531990e85b8db4760ca976f9;hb=fe94c7029fe909612427ef92784a80a8c46e7b67;hpb=46bbdf19d830cdfe939071c1364588a34aa554b0 diff --git a/utils/ci/check_manual_usage_example.sh b/utils/ci/check_manual_usage_example.sh index 677b673..8bd5584 100755 --- a/utils/ci/check_manual_usage_example.sh +++ b/utils/ci/check_manual_usage_example.sh @@ -26,7 +26,7 @@ W() { rm -f ${SUBF} if [ ! "$RES" = "0" ]; then sync - echo "(Debug) Error while waiting for a pattern to appear in screenlog.0" + echo -e "\n\n\n(Debug) Error while waiting for a pattern to appear in screenlog.0\n\n\n" strings screenlog.0 fi return ${RES} @@ -37,6 +37,11 @@ Cmd() { screen -S sonemu -X stuff "${1}^M" } +Vnf() { + # Send a command inside the vnf1 container + docker exec -t "mn.${1}" /bin/bash -c "${2}" && sync +} + if ! screen --version | grep 'Screen version'; then # Install screen and do an initial cleanup @@ -51,7 +56,8 @@ if ! timeout --version; then timeout --version fi # Initial cleanup -pkill -f 'SCREEN -L -S sonemu' || true +pkill --signal KILL -f 'SCREEN -L -S sonemu' || true +sleep 1s screen -wipe || true rm -f screenlog.0 @@ -72,15 +78,16 @@ son-emu-cli compute start -d datacenter1 -n vnf2 && sleep 1s son-emu-cli compute list && sleep 1s sync # avoid text overlapping # Gather some infos -Cmd 'sh sync && echo -e "\n... starting various checks"' -sync # avoid text overlapping -Cmd 'vnf1 ifconfig && sync && echo -e "\n... checked vnf1"' -W "^... checked vnf1" -Cmd 'vnf2 ifconfig && sync && echo -e "\n... checked vnf2"' -W "^... checked vnf2" +Cmd 'sh sync' +Cmd 'sh echo "... starting various checks"' +sync # avoid text overlappin +Cmd 'links' +Vnf vnf1 'ifconfig' +Vnf vnf2 'ifconfig' # Try to ping vnfs -Cmd 'vnf1 ping -c 2 vnf2 && sync && echo -e "\n... checked ping"' -W "^... checked ping" 20s +IP_2=$(Vnf vnf2 'ip -f inet -o addr show vnf2-eth0' | cut -d\ -f 7 | cut -d/ -f 1) +# IP_1=$(Vnf vnf1 'ip -f inet -o addr show vnf1-eth0' | cut -d\ -f 7 | cut -d/ -f 1) +OUTPUT_A=$(Vnf vnf1 "ping -v -c 2 ${IP_2}") Cmd 'quit' # Wait for sonemu to end W '*** Done' @@ -91,7 +98,7 @@ echo -e '\n\n*********************************************\n\n' # Check the ping result -if grep ', 2 received' screenlog.0; then +if echo ${OUTPUT_A} | grep ', 2 received'; then echo 'No problems detected' exit 0 else