define_test "not configured"
-setup_ctdb
+setup
ok_null
simple_test_event "ipreallocate"
define_test "missing config file"
-setup_ctdb
+setup
+
setup_ctdb_natgw <<EOF
192.168.1.21 master
192.168.1.22
for i in "startup" "ipreallocated" ; do
simple_test_event "$i"
done
-
define_test "CTDB_NATGW_PUBLIC_IFACE unset, not slave-only"
-setup_ctdb
+setup
+
setup_ctdb_natgw <<EOF
192.168.1.21 master
192.168.1.22
define_test "CTDB_NATGW_PUBLIC_IP unset, not slave-only"
-setup_ctdb
+setup
+
setup_ctdb_natgw <<EOF
192.168.1.21 master
192.168.1.22
define_test "master node, basic configuration"
-setup_ctdb
+setup
setup_ctdb_natgw <<EOF
192.168.1.21 master
define_test "slave node, basic configuration"
-setup_ctdb
+setup
setup_ctdb_natgw <<EOF
192.168.1.21
define_test "master node, no gateway"
-setup_ctdb
+setup
setup_ctdb_natgw <<EOF
192.168.1.21 master
define_test "slave node, no gateway"
-setup_ctdb
+setup
setup_ctdb_natgw <<EOF
192.168.1.21
define_test "basic configuration, multiple transitions"
-setup_ctdb
+setup
echo "*** Master node..."
define_test "master node, static routes"
-setup_ctdb
+setup
setup_ctdb_natgw <<EOF
192.168.1.21 master
192.168.1.24
EOF
-export CTDB_NATGW_STATIC_ROUTES="10.1.1.0/24 10.1.2.0/24"
+CTDB_NATGW_STATIC_ROUTES="10.1.1.0/24 10.1.2.0/24"
ok_null
simple_test_event "ipreallocated"
define_test "slave node, static routes"
-setup_ctdb
+setup
setup_ctdb_natgw <<EOF
192.168.1.21
192.168.1.24
EOF
-export CTDB_NATGW_STATIC_ROUTES="10.1.1.0/24 10.1.2.0/24"
+CTDB_NATGW_STATIC_ROUTES="10.1.1.0/24 10.1.2.0/24"
ok_null
simple_test_event "ipreallocated"
define_test "master node, static routes, custom gateway"
-setup_ctdb
+setup
setup_ctdb_natgw <<EOF
192.168.1.21 master
192.168.1.24
EOF
-export CTDB_NATGW_STATIC_ROUTES="10.1.1.0/24 10.1.2.0/24@10.1.1.253"
+CTDB_NATGW_STATIC_ROUTES="10.1.1.0/24 10.1.2.0/24@10.1.1.253"
ok_null
simple_test_event "ipreallocated"
define_test "slave node, static routes, custom gateway"
-setup_ctdb
+setup
setup_ctdb_natgw <<EOF
192.168.1.21
192.168.1.24
EOF
-export CTDB_NATGW_STATIC_ROUTES="10.1.1.0/24 10.1.2.0/24@10.1.1.253"
+CTDB_NATGW_STATIC_ROUTES="10.1.1.0/24 10.1.2.0/24@10.1.1.253"
ok_null
simple_test_event "ipreallocated"
define_test "static routes, custom gateway, multiple transitions"
-setup_ctdb
+setup
-export CTDB_NATGW_STATIC_ROUTES="10.1.1.0/24 10.1.2.0/24@10.1.1.253"
+CTDB_NATGW_STATIC_ROUTES="10.1.1.0/24 10.1.2.0/24@10.1.1.253"
echo "*** Master node..."
ok_natgw_master_ip_addr_show
simple_test_command ip addr show "$CTDB_NATGW_PUBLIC_IFACE"
-
define_test "master node, static routes, custom gateway, config change"
-setup_ctdb
+setup
-export CTDB_NATGW_STATIC_ROUTES="10.1.1.0/24 10.1.2.0/24@10.1.1.253"
+CTDB_NATGW_STATIC_ROUTES="10.1.1.0/24 10.1.2.0/24@10.1.1.253"
echo "##################################################"
echo "Static routes..."
echo "##################################################"
echo "Default routes..."
-unset CTDB_NATGW_STATIC_ROUTES
+CTDB_NATGW_STATIC_ROUTES=""
ok "NAT gateway configuration has changed"
simple_test_event "ipreallocated"
echo "##################################################"
echo "Static routes again..."
-export CTDB_NATGW_STATIC_ROUTES="10.1.3.0/24 10.1.4.4/32 10.1.2.0/24@10.1.1.252"
+CTDB_NATGW_STATIC_ROUTES="10.1.3.0/24 10.1.4.4/32 10.1.2.0/24@10.1.1.252"
ok "NAT gateway configuration has changed"
simple_test_event "ipreallocated"
define_test "slave-only, CTDB_NATGW_PUBLIC_IFACE unset"
-setup_ctdb
+setup
+
setup_ctdb_natgw <<EOF
192.168.1.21 slave-only
192.168.1.22 master
define_test "slave-only, CTDB_NATGW_PUBLIC_IP unset"
-setup_ctdb
+setup
+
setup_ctdb_natgw <<EOF
192.168.1.21 slave-only
192.168.1.22 master
define_test "Monitor CTDB_NATGW_PUBLIC_IFACE, slave, up"
-setup_ctdb
+setup
+
setup_ctdb_natgw <<EOF
192.168.1.21
192.168.1.22 master
define_test "Monitor CTDB_NATGW_PUBLIC_IFACE, slave, down"
-setup_ctdb
+setup
+
setup_ctdb_natgw <<EOF
192.168.1.21
192.168.1.22 master
define_test "Monitor CTDB_NATGW_PUBLIC_IFACE, master, up"
-setup_ctdb
+setup
+
setup_ctdb_natgw <<EOF
192.168.1.21 master
192.168.1.22
define_test "Monitor CTDB_NATGW_PUBLIC_IFACE, master, down"
-setup_ctdb
+setup
+
setup_ctdb_natgw <<EOF
192.168.1.21 master
192.168.1.22
-setup_ctdb_natgw ()
+setup ()
{
debug "Setting up NAT gateway"
- natgw_config_dir="${TEST_VAR_DIR}/natgw_config"
- mkdir -p "$natgw_config_dir"
+ natgw_nodes="${CTDB_BASE}/natgw_nodes"
+
+ ctdb_set_pnn
- export CTDB_NATGW_NODES="${natgw_config_dir}/natgw_nodes"
+ export CTDB_NATGW_NODES=""
+ export CTDB_NATGW_PRIVATE_NETWORK=""
+ export CTDB_NATGW_PUBLIC_IP=""
+ export CTDB_NATGW_PUBLIC_IFACE=""
+ export CTDB_NATGW_DEFAULT_GATEWAY=""
+ export CTDB_NATGW_STATIC_ROUTES=""
+}
+# A separate function for this makes sense because it can be done
+# multiple times per test
+setup_ctdb_natgw ()
+{
# Read from stdin
while read _ip _opts ; do
case "$_opts" in
echo "$_ip"
;;
esac
- done >"$CTDB_NATGW_NODES"
+ done >"$natgw_nodes"
# Assume all of the nodes are on a /24 network and have IPv4
# addresses:
- read _ip <"$CTDB_NATGW_NODES"
- export CTDB_NATGW_PRIVATE_NETWORK="${_ip%.*}.0/24"
+ read _ip <"$natgw_nodes"
+ CTDB_NATGW_NODES="$natgw_nodes"
+ CTDB_NATGW_PRIVATE_NETWORK="${_ip%.*}.0/24"
# These are fixed. Probably don't use the same network for the
# private node IPs. To unset the default gateway just set it to
# "". :-)
- export CTDB_NATGW_PUBLIC_IP="10.1.1.121/24"
- export CTDB_NATGW_PUBLIC_IFACE="eth1"
- export CTDB_NATGW_DEFAULT_GATEWAY="10.1.1.254"
- export CTDB_NATGW_SLAVE_ONLY=""
+ CTDB_NATGW_PUBLIC_IP="10.1.1.121/24"
+ CTDB_NATGW_PUBLIC_IFACE="eth1"
+ CTDB_NATGW_DEFAULT_GATEWAY="10.1.1.254"
}
ok_natgw_master_ip_addr_show ()