6 Verify that 'ctdb ip' shows the correct output.
10 * An active CTDB cluster with at least 2 active nodes.
14 1. Verify that the status on all of the ctdb nodes is 'OK'.
15 2. Run 'ctdb ip' on one of the nodes and verify the list of IP
16 addresses displayed (cross check the result with the output of
17 'ip addr show' on the node).
18 3. Verify that pipe-separated output is generated with the -X option.
22 * 'ctdb ip' shows the list of public IPs being served by a node.
26 . "${TEST_SCRIPTS_DIR}/integration.bash"
34 echo "Getting list of public IPs..."
35 try_command_on_node -v 1 "$CTDB ip all | tail -n +2"
36 ips=$(echo "$out" | sed \
39 machineout=$(echo "$out" | sed -r \
41 -e 's@[[:alpha:]]+\[@@g' \
44 if [ -z "$TEST_LOCAL_DAEMONS" ]; then
45 while read ip pnn ; do
46 try_command_on_node $pnn "ip addr show"
47 if [ "${out/inet* ${ip}\/}" != "$out" ] ; then
48 echo "GOOD: node $pnn appears to have $ip assigned"
50 die "BAD: node $pnn does not appear to have $ip assigned"
52 done <<<"$ips" # bashism to avoid problem setting variable in pipeline.
57 cmd="$CTDB -X ip all | tail -n +2"
58 echo "Checking that \"$cmd\" produces expected output..."
60 try_command_on_node 1 "$cmd"
61 if [ "$out" = "$machineout" ] ; then
62 echo "Yep, looks good!"
64 echo "Nope, it looks like this:"
66 echo "Should be like this:"