Fix some test issues 96/3296/1
authorFilip Tehlar <ftehlar@cisco.com>
Thu, 6 Oct 2016 11:20:58 +0000 (13:20 +0200)
committerFilip Tehlar <ftehlar@cisco.com>
Thu, 6 Oct 2016 12:03:30 +0000 (14:03 +0200)
* add sleep to v6 eid virt test
* fix failover test
* reuse topology setup at failover test

Change-Id: I7f1234696a9cec7931984c4dcee79c2cf90287d1
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
tests/data_plane/configs/vpp_lite_config/basic/4o4_failover/vpp1.config
tests/data_plane/configs/vpp_lite_config/basic/4o4_failover/vpp2.config
tests/data_plane/vpp_lite_topo/config.sh
tests/data_plane/vpp_lite_topo/test_driver/resolver_failover.sh
tests/data_plane/vpp_lite_topo/topologies/2_node_topo.sh
tests/data_plane/vpp_lite_topo/topologies/basic_two_odls.sh [deleted file]
tests/data_plane/vpp_lite_topo/topologies/two_customers_topo.sh

index 72ac2ab..318f302 100644 (file)
@@ -1,15 +1,8 @@
-create host-interface name vpp1
-set int state host-vpp1 up
-set int ip address host-vpp1 6.0.1.1/24
-
-create host-interface name intervpp1
-set int state host-intervpp1 up
-set int ip address host-intervpp1 6.0.3.1/24
-
-lisp enable
-
-lisp locator-set add ls1 iface host-intervpp1 p 1 w 1
-lisp eid-table add eid 6.0.1.0/24 locator-set ls1
-
-lisp map-resolver add 6.0.3.99
-lisp map-resolver add 6.0.3.100
+create_host_iface vpp1 6.0.1.1/24
+create_host_iface intervpp1 6.0.3.1/24
+
+lisp_state enable
+lisp_locator_set_with_locator ls1 host-intervpp1 1 1
+lisp_local_eid eid 6.0.1.0/24 locator-set ls1
+lisp_map_resolver 6.0.3.199
+lisp_map_resolver 6.0.3.200
index 1bac043..de7a679 100644 (file)
@@ -1,13 +1,7 @@
-create host-interface name vpp2
-set int state host-vpp2 up
-set int ip address host-vpp2 6.0.2.1/24
+create_host_iface vpp2 6.0.2.1/24
+create_host_iface intervpp2 6.0.3.2/24
 
-create host-interface name intervpp2
-set int state host-intervpp2 up
-set int ip address host-intervpp2 6.0.3.2/24
-
-lisp enable
-
-lisp locator-set add ls1 iface host-intervpp2 p 1 w 1
-lisp eid-table add eid 6.0.2.0/24 locator-set ls1
-lisp map-resolver add 6.0.3.100
+lisp_state enable
+lisp_locator_set_with_locator ls1 host-intervpp2 1 1
+lisp_local_eid eid 6.0.2.0/24 locator-set ls1
+lisp_map_resolver 6.0.3.200
index a546c52..57b616a 100644 (file)
@@ -138,3 +138,10 @@ function assert_rc_ok
     exit $test_result
   fi
 }
+
+function start_map_resolver
+{
+  echo "starting dummy map resolver on interface $1"
+  python scripts/dummy_mr.py "$1" 4342 &
+  mr_id=$!
+}
index ea3a212..a278f56 100644 (file)
@@ -1,9 +1,6 @@
 source config.sh
 source odl_utils.sh
-source topologies/basic_two_odls.sh
-
-ODL_CONFIG_FILE1="vpp1.json"
-ODL_CONFIG_FILE2="vpp2.json"
+source topologies/2_node_topo.sh
 
 if [ "$1" == "clean" ] ; then
   basic_two_odls_clean
@@ -15,18 +12,11 @@ if [[ $(id -u) != 0 ]]; then
   exit 1
 fi
 
-function start_map_resolver
-{
-  echo "starting dummy map resolver on interface $1"
-  python scripts/dummy_mr.py "$1" 4342 &
-  mr_id=$!
-}
-
 function test_resolver_failover
 {
-  basic_two_odls_setup
+  2_node_topo_setup no_odl
 
-  start_map_resolver "6.0.3.100"
+  start_map_resolver "6.0.3.200"
 
   test_result=1
 
@@ -38,7 +28,7 @@ function test_resolver_failover
   # test done
   maybe_pause
 
-  basic_two_odls_clean
+  2_node_topo_clean no_odl
   kill $mr_id
 
   print_status $rc "No ICMP response!"
index 9e8cf6d..c882c0e 100644 (file)
@@ -5,13 +5,15 @@
 #                                |   MR   |
 #                                |        |
 #                                +--------+
-#                                     |6.0.3.100
+#                                odl  |6.0.3.100
 #6:0:1::2                             |6:0:3::100
 #6.0.1.2     vpp1 +--------+          |         +--------+
 #       +---------+        |intervpp1 |intervpp2|        |vpp2
 #                 |  VPP1  +----------+---------+  VPP2  +---------+
-#                 |        |                    |        |      6.0.2.2
-#                 +--------+                    +--------+      6:0:2::2
+#                 |        |          |         |        |      6.0.2.2
+#                 +--------+          |         +--------+      6:0:2::2
+#                                     +mr
+#                                     6.0.3.200
 #
 
 function set_arp
@@ -47,6 +49,7 @@ function 2_node_topo_clean
   ip link del dev veth_intervpp1 &> /dev/null
   ip link del dev veth_intervpp2 &> /dev/null
   ip link del dev veth_odl &> /dev/null
+  ip link del dev veth_mr &> /dev/null
   ip netns del vppns1 &> /dev/null
   ip netns del vppns2 &> /dev/null
   ip netns del intervppns &> /dev/null
@@ -68,18 +71,22 @@ function 2_node_topo_setup
   ip link add veth_intervpp1 type veth peer name intervpp1
   ip link add veth_intervpp2 type veth peer name intervpp2
   ip link add veth_odl type veth peer name odl
+  ip link add veth_mr type veth peer name mr
   ip link set dev intervpp1 up
   ip link set dev intervpp2 up
   ip link set dev odl up
+  ip link set dev mr up
   ip link set dev veth_intervpp1 up netns intervppns
   ip link set dev veth_intervpp2 up netns intervppns
   ip link set dev veth_odl up netns intervppns
+  ip link set dev veth_mr up netns intervppns
 
   # create bridge in intervppns and add vpp and odl interfaces
   ip netns exec intervppns brctl addbr vppbr
   ip netns exec intervppns brctl addif vppbr veth_intervpp1
   ip netns exec intervppns brctl addif vppbr veth_intervpp2
   ip netns exec intervppns brctl addif vppbr veth_odl
+  ip netns exec intervppns brctl addif vppbr veth_mr
   ip netns exec intervppns ifconfig vppbr up
 
   # create and configure 1st veth client to vpp pair
@@ -115,6 +122,9 @@ function 2_node_topo_setup
   ip addr add 6:0:3::100/64 dev odl
   ethtool --offload  odl rx off tx off
 
+  ip addr add 6.0.3.200/24 dev mr
+  ethtool --offload mr rx off tx off
+
   # generate config files
   ./scripts/generate_config.py ${VPP_LITE_CONF} ${CFG_METHOD}
 
diff --git a/tests/data_plane/vpp_lite_topo/topologies/basic_two_odls.sh b/tests/data_plane/vpp_lite_topo/topologies/basic_two_odls.sh
deleted file mode 100644 (file)
index 7e6eda6..0000000
+++ /dev/null
@@ -1,102 +0,0 @@
-
-#!/usr/bin/env bash
-
-function basic_two_odls_clean
-{
-  echo "Clearing all VPP instances.."
-  pkill vpp --signal 9
-  rm /dev/shm/*
-
-  echo "Cleaning topology.."
-  ip netns exec intervppns ifconfig vppbr down
-  ip netns exec intervppns brctl delbr vppbr
-  ip link del dev veth_vpp1 &> /dev/null
-  ip link del dev veth_vpp2 &> /dev/null
-  ip link del dev veth_intervpp1 &> /dev/null
-  ip link del dev veth_intervpp2 &> /dev/null
-  ip link del dev veth_odl1 &> /dev/null
-  ip link del dev veth_odl2 &> /dev/null
-  ip netns del vppns1 &> /dev/null
-  ip netns del vppns2 &> /dev/null
-  ip netns del intervppns &> /dev/null
-}
-
-function basic_two_odls_setup
-{
-
-  # create vpp to clients and inter-vpp namespaces
-  ip netns add vppns1
-  ip netns add vppns2
-  ip netns add intervppns
-
-  # create vpp and odl interfaces and set them in intervppns
-  ip link add veth_intervpp1 type veth peer name intervpp1
-  ip link add veth_intervpp2 type veth peer name intervpp2
-  ip link add veth_odl1 type veth peer name odl1
-  ip link add veth_odl2 type veth peer name odl2
-  ip link set dev intervpp1 up
-  ip link set dev intervpp2 up
-  ip link set dev odl1 up
-  ip link set dev odl2 up
-  ip link set dev veth_intervpp1 up netns intervppns
-  ip link set dev veth_intervpp2 up netns intervppns
-  ip link set dev veth_odl1 up netns intervppns
-  ip link set dev veth_odl2 up netns intervppns
-
-  # create bridge in intervppns and add vpp and odl interfaces
-  ip netns exec intervppns brctl addbr vppbr
-  ip netns exec intervppns brctl addif vppbr veth_intervpp1
-  ip netns exec intervppns brctl addif vppbr veth_intervpp2
-  ip netns exec intervppns brctl addif vppbr veth_odl1
-  ip netns exec intervppns brctl addif vppbr veth_odl2
-  ip netns exec intervppns ifconfig vppbr up
-
-  # create and configure 1st veth client to vpp pair
-  ip link add veth_vpp1 type veth peer name vpp1
-  ip link set dev vpp1 up
-  ip link set dev veth_vpp1 up netns vppns1
-
-  # create and configure 2nd veth client to vpp pair
-  ip link add veth_vpp2 type veth peer name vpp2
-  ip link set dev vpp2 up
-  ip link set dev veth_vpp2 up netns vppns2
-
-  ip netns exec vppns1 \
-  bash -c "
-    ip link set dev lo up
-    ip addr add 6.0.1.2/24 dev veth_vpp1
-    ip route add 6.0.2.0/24 via 6.0.1.1
-  "
-
-  ip netns exec vppns2 \
-  bash -c "
-    ip link set dev lo up
-    ip addr add 6.0.2.2/24 dev veth_vpp2
-    ip route add 6.0.1.0/24 via 6.0.2.1
-  "
-
-  # set odl iface ip and disable checksum offloading
-  ip addr add 6.0.3.100/24 dev odl1
-  ethtool --offload  odl1 rx off tx off
-
-  # generate config files
-  ./scripts/generate_config.py ${VPP_LITE_CONF} ${CFG_METHOD}
-
-  start_vpp 5002 vpp1
-  start_vpp 5003 vpp2
-
-  echo "* Selected configuration method: $CFG_METHOD"
-  if [ "$CFG_METHOD" == "cli" ] ; then
-    echo "exec ${VPP_LITE_CONF}/vpp1.cli" | nc 0 5002
-    echo "exec ${VPP_LITE_CONF}/vpp2.cli" | nc 0 5003
-  elif [ "$CFG_METHOD" == "vat" ] ; then
-    sleep 2
-    ${VPP_API_TEST} chroot prefix vpp1 script in ${VPP_LITE_CONF}/vpp1.vat
-    ${VPP_API_TEST} chroot prefix vpp2 script in ${VPP_LITE_CONF}/vpp2.vat
-  else
-    echo "=== WARNING:"
-    echo "=== Invalid configuration method selected!"
-    echo "=== To resolve this set env variable CFG_METHOD to vat or cli."
-    echo "==="
-  fi
-}
index 645077d..f594d45 100644 (file)
@@ -112,6 +112,7 @@ function two_customers_topo_setup {
   # generate config files
   ./scripts/generate_config.py ${VPP_LITE_CONF} ${CFG_METHOD}
 
+  sleep 3
   start_vpp 5002 vpp1
   start_vpp 5003 vpp2