define_test "not configured"
-setup_ctdb
+setup
+
+CTDB_PER_IP_ROUTING_CONF=""
ok_null
simple_test_event "takeip"
define_test "missing config file"
-setup_ctdb
-setup_ctdb_policy_routing
+setup
# Error because policy routing is configured but the configuration
# file is missing.
define_test "empty config, ipreallocated"
-setup_ctdb
-setup_ctdb_policy_routing
+setup
create_policy_routing_config 0
define_test "empty config, takeip"
-setup_ctdb
-setup_ctdb_policy_routing
+setup
create_policy_routing_config 0
define_test "1 IP configured, takeip"
-setup_ctdb
-setup_ctdb_policy_routing
+setup
# Configuration for 1 IP
create_policy_routing_config 1 default
define_test "1 IP configured, takeip, releaseip"
-setup_ctdb
-setup_ctdb_policy_routing
+setup
# create config for 1 IP
create_policy_routing_config 1 default
define_test "1 IP configured, ipreallocated"
-setup_ctdb
-setup_ctdb_policy_routing
+setup
# create config for 1 IP
create_policy_routing_config 1 default
define_test "1 IP configured, takeip twice"
-setup_ctdb
-setup_ctdb_policy_routing
+setup
# create config for 1 IP
create_policy_routing_config 1 default
define_test "All IPs configured, takeip 1 address"
-setup_ctdb
-setup_ctdb_policy_routing
+setup
# configure all addresses
create_policy_routing_config all default
define_test "All IPs configured, takeip on all nodes"
-setup_ctdb
-setup_ctdb_policy_routing
+setup
# create config for all IPs
create_policy_routing_config all default
define_test "__auto_link_local__, takeip all on node"
-setup_ctdb
-setup_ctdb_policy_routing
+setup
# do link local fu instead of creating configuration
-export CTDB_PER_IP_ROUTING_CONF="__auto_link_local__"
+CTDB_PER_IP_ROUTING_CONF="__auto_link_local__"
# add routes for all addresses
ctdb_get_my_public_addresses |
# moveip" doesn't do anything then the IP being released will still be
# on the node and the ipreallocated event will add the routes back.
-setup_ctdb
-setup_ctdb_policy_routing
+setup
create_policy_routing_config 1 default
define_test "1 IP configured, releaseip of unassigned"
-setup_ctdb
-setup_ctdb_policy_routing
+setup
create_policy_routing_config 1 default
# We move the IP to another node but don't run releaseip.
# ipreallocated should remove the bogus routes.
-setup_ctdb
-setup_ctdb_policy_routing
+setup
create_policy_routing_config 1 default
define_test "1 IP configured, releaseip of unassigned"
-setup_ctdb
-setup_ctdb_policy_routing
+setup
export IP_ROUTE_BAD_TABLE_ID=true
define_test "empty config, reconfigure, NOOP"
-setup_ctdb
-setup_ctdb_policy_routing
+setup
create_policy_routing_config 0
define_test "1 IP configured, reconfigure"
-setup_ctdb
-setup_ctdb_policy_routing
+setup
create_policy_routing_config 1 default
define_test "1 IP configured, ipreallocated, more routes, reconfigure"
-setup_ctdb
-setup_ctdb_policy_routing
+setup
create_policy_routing_config 1
define_test "1 IP configured, ipreallocated, less routes, reconfigure"
-setup_ctdb
-setup_ctdb_policy_routing
+setup
create_policy_routing_config 1 default
define_test "Invalid table ID range - includes system tables"
-setup_ctdb
-setup_ctdb_policy_routing
+setup
CTDB_PER_IP_ROUTING_TABLE_ID_LOW=100
CTDB_PER_IP_ROUTING_TABLE_ID_HIGH=500
define_test "Invalid table ID range - reversed"
-setup_ctdb
-setup_ctdb_policy_routing
+setup
CTDB_PER_IP_ROUTING_TABLE_ID_LOW=9000
CTDB_PER_IP_ROUTING_TABLE_ID_HIGH=1000
define_test "1 IP configured, broken configuration, takeip"
-setup_ctdb
-setup_ctdb_policy_routing
+setup
# Configuration for 1 IP
create_policy_routing_config 1 default
define_test "Single IP, restores original rt_tables"
-setup_ctdb
-setup_ctdb_policy_routing
+setup
create_policy_routing_config 1 default
-setup_ctdb_policy_routing ()
+setup ()
{
+ setup_public_addresses
+
service_name="per_ip_routing"
- export CTDB_PER_IP_ROUTING_CONF="$CTDB_BASE/policy_routing"
+ export CTDB_PER_IP_ROUTING_CONF="${CTDB_BASE}/policy_routing"
export CTDB_PER_IP_ROUTING_RULE_PREF=100
export CTDB_PER_IP_ROUTING_TABLE_ID_LOW=1000
export CTDB_PER_IP_ROUTING_TABLE_ID_HIGH=2000