ctdb-tests: Skip some tests that don't work with IPv6
authorMartin Schwenke <martin@meltin.net>
Thu, 28 Nov 2019 03:00:58 +0000 (14:00 +1100)
committerKarolin Seeger <kseeger@samba.org>
Tue, 14 Jan 2020 12:46:17 +0000 (12:46 +0000)
See the comments added to the tests.

It may be possible to rewrite these so they do something sane for
IPv6... some other time.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=14227
RN: Fix IPv6 issues (NFS connection tracking, tests)

Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Amitay Isaacs <amitay@gmail.com>
Autobuild-User(master): Amitay Isaacs <amitay@samba.org>
Autobuild-Date(master): Fri Jan  3 00:00:55 UTC 2020 on sn-devel-184

(backported from commit 9edf15afc219a1a782ec1e4d29909361bbabc744)

Signed-off-by: Martin Schwenke <martin@meltin.net>
Autobuild-User(v4-10-test): Karolin Seeger <kseeger@samba.org>
Autobuild-Date(v4-10-test): Tue Jan 14 12:46:17 UTC 2020 on sn-devel-144

ctdb/tests/complex/60_rogueip_releaseip.sh
ctdb/tests/complex/61_rogueip_takeip.sh

index 88e4e554c34abcba1b2284c608cf0b5af1306c41..99d0d406e6f26ab48523f02eb6555da4406005d1 100755 (executable)
@@ -21,6 +21,16 @@ select_test_node_and_ips
 
 echo "Using $test_ip, which is onnode $test_node"
 
+# This test depends on being able to assign a duplicate address on a
+# 2nd node.  However, IPv6 guards against this and causes the test to
+# fail.
+case "$test_ip" in
+*:*)
+       echo "SKIPPING TEST: not supported for IPv6 addresses"
+       exit 0
+       ;;
+esac
+
 get_test_ip_mask_and_iface
 
 echo "Finding another node that knows about $test_ip"
index 2c5f7c5c999f98261266d1dcead3bc17ca45cfec..e1981eba572d324406e8648135c5f3c2782e9530 100755 (executable)
@@ -21,6 +21,20 @@ select_test_node_and_ips
 
 echo "Running test against node $test_node and IP $test_ip"
 
+# This test puts an address on an interface and then needs to quickly
+# configure that address and cause an IP takeover.  However, an IPv6
+# address will be tentative for a while so "quickly" is not possible".
+# When ctdb_control_takeover_ip() calls ctdb_sys_have_ip() it will
+# decide that the address is not present.  It then attempts a takeip,
+# which can fail if the address is suddenly present because it is no
+# longer tentative.
+case "$test_ip" in
+*:*)
+       echo "SKIPPING TEST: not supported for IPv6 addresses"
+       exit 0
+       ;;
+esac
+
 get_test_ip_mask_and_iface
 
 echo "Deleting IP $test_ip from all nodes"