1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-22 13:34:15 +03:00

ctdb-tests: Add NAT gateway eventscript unit tests for static routes

Signed-off-by: Martin Schwenke <martin@meltin.net>

Autobuild-User(master): Amitay Isaacs <amitay@samba.org>
Autobuild-Date(master): Wed Mar 26 06:24:01 CET 2014 on sn-devel-104
This commit is contained in:
Martin Schwenke 2014-03-17 16:06:48 +11:00 committed by Amitay Isaacs
parent 70bbbbe448
commit 3d5b80f26a
6 changed files with 207 additions and 0 deletions

View File

@ -0,0 +1,25 @@
#!/bin/sh
. "${TEST_SCRIPTS_DIR}/unit.sh"
define_test "master node, static routes"
setup_ctdb
setup_ctdb_natgw <<EOF
192.168.1.21 master
192.168.1.22
192.168.1.23
192.168.1.24
EOF
export CTDB_NATGW_STATIC_ROUTES="10.1.1.0/24 10.1.2.0/24"
ok_null
simple_test_event "ipreallocated"
ok_natgw_master_static_routes
simple_test_command ip route show
ok_natgw_master_ip_addr_show
simple_test_command ip addr show "$CTDB_NATGW_PUBLIC_IFACE"

View File

@ -0,0 +1,25 @@
#!/bin/sh
. "${TEST_SCRIPTS_DIR}/unit.sh"
define_test "slave node, static routes"
setup_ctdb
setup_ctdb_natgw <<EOF
192.168.1.21
192.168.1.22 master
192.168.1.23
192.168.1.24
EOF
export CTDB_NATGW_STATIC_ROUTES="10.1.1.0/24 10.1.2.0/24"
ok_null
simple_test_event "ipreallocated"
ok_natgw_slave_static_routes
simple_test_command ip route show
ok_natgw_slave_ip_addr_show
simple_test_command ip addr show "$CTDB_NATGW_PUBLIC_IFACE"

View File

@ -0,0 +1,25 @@
#!/bin/sh
. "${TEST_SCRIPTS_DIR}/unit.sh"
define_test "master node, static routes, custom gateway"
setup_ctdb
setup_ctdb_natgw <<EOF
192.168.1.21 master
192.168.1.22
192.168.1.23
192.168.1.24
EOF
export CTDB_NATGW_STATIC_ROUTES="10.1.1.0/24 10.1.2.0/24@10.1.1.253"
ok_null
simple_test_event "ipreallocated"
ok_natgw_master_static_routes
simple_test_command ip route show
ok_natgw_master_ip_addr_show
simple_test_command ip addr show "$CTDB_NATGW_PUBLIC_IFACE"

View File

@ -0,0 +1,25 @@
#!/bin/sh
. "${TEST_SCRIPTS_DIR}/unit.sh"
define_test "slave node, static routes, custom gateway"
setup_ctdb
setup_ctdb_natgw <<EOF
192.168.1.21
192.168.1.22 master
192.168.1.23
192.168.1.24
EOF
export CTDB_NATGW_STATIC_ROUTES="10.1.1.0/24 10.1.2.0/24@10.1.1.253"
ok_null
simple_test_event "ipreallocated"
ok_natgw_slave_static_routes
simple_test_command ip route show
ok_natgw_slave_ip_addr_show
simple_test_command ip addr show "$CTDB_NATGW_PUBLIC_IFACE"

View File

@ -0,0 +1,64 @@
#!/bin/sh
. "${TEST_SCRIPTS_DIR}/unit.sh"
define_test "static routes, custom gateway, multiple transitions"
setup_ctdb
export CTDB_NATGW_STATIC_ROUTES="10.1.1.0/24 10.1.2.0/24@10.1.1.253"
echo "*** Master node..."
setup_ctdb_natgw <<EOF
192.168.1.21 master
192.168.1.22
192.168.1.23
192.168.1.24
EOF
ok_null
simple_test_event "ipreallocated"
ok_natgw_master_static_routes
simple_test_command ip route show
ok_natgw_master_ip_addr_show
simple_test_command ip addr show "$CTDB_NATGW_PUBLIC_IFACE"
echo "*** Slave node..."
setup_ctdb_natgw <<EOF
192.168.1.21
192.168.1.22 master
192.168.1.23
192.168.1.24
EOF
ok_null
simple_test_event "ipreallocated"
ok_natgw_slave_static_routes
simple_test_command ip route show
ok_natgw_slave_ip_addr_show
simple_test_command ip addr show "$CTDB_NATGW_PUBLIC_IFACE"
echo "*** Master node again..."
setup_ctdb_natgw <<EOF
192.168.1.21 master
192.168.1.22
192.168.1.23
192.168.1.24
EOF
ok_null
simple_test_event "ipreallocated"
ok_natgw_master_static_routes
simple_test_command ip route show
ok_natgw_master_ip_addr_show
simple_test_command ip addr show "$CTDB_NATGW_PUBLIC_IFACE"

View File

@ -561,6 +561,49 @@ ok <<EOF
EOF
}
ok_natgw_master_static_routes ()
{
_nl="
"
_t=""
for _i in $CTDB_NATGW_STATIC_ROUTES ; do
# This is intentionally different to the code in 11.natgw ;-)
case "$_i" in
*@*)
_net=$(echo "$_i" | sed -e 's|@.*||')
_gw=$(echo "$_i" | sed -e 's|.*@||')
;;
*)
_net="$_i"
_gw="$CTDB_NATGW_DEFAULT_GATEWAY"
esac
[ -n "$_gw" ] || continue
_t="${_t}${_t:+${_nl}}"
_t="${_t}${_net} via ${_gw} dev ethXXX metric 10 "
done
ok "$_t"
}
ok_natgw_slave_static_routes ()
{
_nl="
"
_t=""
for _i in $CTDB_NATGW_STATIC_ROUTES ; do
# This is intentionally different to the code in 11.natgw ;-)
_net=$(echo "$_i" | sed -e 's|@.*||')
# The interface for the private network isn't specified as
# part of the NATGW configuration and isn't part of the
# command to add the route. It is implicitly added by "ip
# route" but our stub doesn't do this and adds "ethXXX".
_t="${_t}${_t:+${_nl}}"
_t="${_t}${_net} via ${FAKE_CTDB_NATGW_MASTER} dev ethXXX metric 10 "
done
ok "$_t"
}
######################################################################
# Samba/winbind fakery