charset/tests: assert the exact values of str[n]casecmp_m()
[Samba.git] / ctdb / tests / simple / 18_ctdb_reloadips.sh
blob6b92878c3dc79c60e8e4accf0e44218d7c3102bf
1 #!/bin/bash
3 test_info()
5 cat <<EOF
6 Verify that IPs can be rearrranged using 'ctdb reloadips'.
8 Various sub-tests that remove addresses from the public_addresses file
9 on a node or delete the entire contents of the public_addresses file.
11 Prerequisites:
13 * An active CTDB cluster with at least 2 active nodes.
15 Expected results:
17 * When addresses are deconfigured "ctdb ip" no longer reports them and
18 when added they are seen again.
19 EOF
22 . "${TEST_SCRIPTS_DIR}/integration.bash"
24 ctdb_test_init "$@"
26 set -e
28 cluster_is_healthy
30 # Reset configuration
31 ctdb_restart_when_done
33 select_test_node_and_ips
35 echo "Emptying public addresses file on $test_node"
37 addresses=$(get_ctdbd_command_line_option $test_node "public-addresses")
38 echo "Public addresses file on node $test_node is \"$addresses\""
39 backup="${addresses}.$$"
41 restore_public_addresses ()
43 try_command_on_node $test_node "mv $backup $addresses >/dev/null 2>&1 || true"
45 ctdb_test_exit_hook_add restore_public_addresses
47 try_command_on_node $test_node "mv $addresses $backup && touch $addresses"
49 try_command_on_node any $CTDB reloadips all
51 echo "Getting list of public IPs on node $test_node"
52 try_command_on_node $test_node "$CTDB ip | tail -n +2"
54 if [ -n "$out" ] ; then
55 cat <<EOF
56 BAD: node $test_node still has ips:
57 $out
58 EOF
59 exit 1
62 echo "GOOD: no IPs left on node $test_node"
64 try_command_on_node any $CTDB sync
66 echo "Restoring addresses"
67 restore_public_addresses
69 try_command_on_node any $CTDB reloadips all
71 echo "Getting list of public IPs on node $test_node"
72 try_command_on_node $test_node "$CTDB ip | tail -n +2"
74 if [ -z "$out" ] ; then
75 echo "BAD: node $test_node has no ips"
76 exit 1
79 cat <<EOF
80 GOOD: node $test_node has these addresses:
81 $out
82 EOF
84 try_command_on_node any $CTDB sync
86 echo "Removing IP $test_ip from node $test_node"
88 try_command_on_node $test_node "mv $addresses $backup && grep -v '^${test_ip}/' $backup >$addresses"
90 try_command_on_node any $CTDB reloadips all
92 try_command_on_node $test_node $CTDB ip
94 if grep "^${test_ip} " <<<"$out" ; then
95 cat <<EOF
96 BAD: node $test_node can still host IP $test_ip:
97 $out
98 EOF
99 exit 1
102 cat <<EOF
103 GOOD: node $test_node is no longer hosting IP $test_ip:
104 $out