diff options
Diffstat (limited to 'extras')
-rwxr-xr-x | extras/vcl-ldpreload/test/common/nginx_test.sh | 67 |
1 files changed, 36 insertions, 31 deletions
diff --git a/extras/vcl-ldpreload/test/common/nginx_test.sh b/extras/vcl-ldpreload/test/common/nginx_test.sh index 6d43abf2d10..ea771038658 100755 --- a/extras/vcl-ldpreload/test/common/nginx_test.sh +++ b/extras/vcl-ldpreload/test/common/nginx_test.sh @@ -13,7 +13,7 @@ # Configuration variables. # -vpp_dk_name="VPP-TEST-NGINX" +vpp_dk_name="NGINX" # Comment out the next line to run the VPP release version debug="_debug" vpp_app="$WS_ROOT/build-root/install-vpp${debug}-native/vpp/bin/vpp" @@ -48,42 +48,47 @@ if [ ! -f "$LDP_LIB" ] ; then exit 1 fi -if [ -z "$(docker ps -qf name=$vpp_dk_name)" ] ; then - echo "Starting NGINX in docker container ($vpp_dk_name)" - docker run --rm --name $vpp_dk_name -v $LDP_TEST_DIR/common/nginx_welcome.html:/usr/share/nginx/html/index.html:ro -d nginx - - echo "Configuring network interfaces" - sudo ip link del dev vpp_dk - sudo ip link add name vpp_dk type veth peer name vpp1 - sudo ip link set dev vpp_dk up - sudo ethtool --offload vpp_dk rx off tx off - sudo ip link set dev vpp1 up - sudo ethtool --offload vpp1 rx off tx off - sudo ip link set dev lo up - sudo brctl addif docker0 vpp_dk -fi - -export LD_LIBRARY_PATH="$WS_ROOT/build-root/install-vpp${debug}-native/vpp/lib64/:$LDP_DIR/src/.libs:" - -# Extract nginx IPv4 address from docker bridge -# -nginx_addr=$(docker network inspect bridge | grep IPv4Address | awk -e '{print $2}' | sed -e 's,/16,,' -e 's,",,g' -e 's/,//') - -if [ -z "$nginx_addr" ] ; then - echo "ERROR: Unable to determine docker container address!" - exit 1 -fi - if [ -n "$STRACE_ONLY" ] ; then echo "Running strace -tt $TEST_APP http://$nginx_addr" strace -tt $TEST_APP http://$nginx_addr else check_for_vpp if [ -z "$running_vpp" ] ; then - echo "Starting VPP ('telnet 0 5002' to connect to cli)" - sudo $vpp_app unix { cli-listen localhost:5002 exec $LDP_TEST_DIR/common/vpp_docker.conf } api-segment { gid $(id -g) } - sleep 2 + echo -e "\nConfiguring network interfaces" + sudo ip link del dev vpp_dk + sudo ip link add name vpp_dk type veth peer name vpp1 + sudo ip link set dev vpp_dk up + sudo ethtool --offload vpp_dk rx off tx off + sudo ip link set dev vpp1 up + sudo ethtool --offload vpp1 rx off tx off + sudo ip link set dev lo up + sudo brctl addif docker0 vpp_dk + + echo "Starting VPP " + sudo rm -f /dev/shm/* + sudo xfce4-terminal --title VPP --command "$vpp_app unix { interactive exec $LDP_TEST_DIR/common/vpp_docker.conf full-coredump coredump-size unlimited } api-segment { gid $(id -g) }" & +# sudo $vpp_app unix { cli-listen localhost:5002 exec $LDP_TEST_DIR/common/vpp_docker.conf } api-segment { gid $(id -g) } + sleep 4 + fi + + if [ -z "$(docker ps -qf name=$vpp_dk_name)" ] ; then + echo -e "\nStarting NGINX in docker container ($vpp_dk_name)" + echo "docker run --rm --name $vpp_dk_name -v $LDP_TEST_DIR/common/nginx_welcome.html:/usr/share/nginx/html/index.html:ro -d nginx" + docker run --rm --name $vpp_dk_name -v $LDP_TEST_DIR/common/nginx_welcome.html:/usr/share/nginx/html/index.html:ro -d nginx + + export LD_LIBRARY_PATH="$WS_ROOT/build-root/install-vpp${debug}-native/vpp/lib64/:$LDP_DIR/src/.libs:" + + # Extract nginx IPv4 address from docker bridge + # + nginx_addr=$(docker network inspect bridge | grep IPv4Address | awk -e '{print $2}' | sed -e 's,/16,,' -e 's,",,g' -e 's/,//') + + if [ -z "$nginx_addr" ] ; then + echo "ERROR: Unable to determine docker container address!" + exit 1 + fi fi - echo "Running LD_PRELOAD=$LDP_LIB $TEST_APP http://$nginx_addr" + + echo -e "\nRunning wget" + echo -e "LD_PRELOAD=$LDP_LIB $TEST_APP http://$nginx_addr\n" LD_PRELOAD=$LDP_LIB $TEST_APP http://$nginx_addr fi |