1
0
mirror of https://github.com/samba-team/samba.git synced 2025-03-20 22:50:26 +03:00

ctdb-tests: Try to handle IPv6 addresses for local daemons

If CTDB_USE_IPV6 is set then use IPv6 addresses for nodes and public
IPs.  This can be useful for some simple tests.  However, the node
address actually needs to be on lo so that ctdbd can bind to the port
on that address, so they actually need to be added as root before
running tests, like this:

  for i in $(seq 1 10) ; do ip addr add "fc00:10::${i}/64" dev lo ; done

IPv4 127.0.0.0/8 addresses are somehow magic and only one needs to be
on lo so that many can be bound to.

Also change the IPv4 node addresses to be (slightly) more exotic.

For both IPv4 and IPv6, choose addresses that are compatible with
socket wrapper.

Signed-off-by: Martin Schwenke <martin@meltin.net>
Signed-off-by: Amitay Isaacs <amitay@gmail.com> (socket wrapper fixes)
Reviewed-by: Amitay Isaacs <amitay@gmail.com>
Reviewed-by: Martin Schwenke <martin@meltin.net> (socket wrapper fixes)
This commit is contained in:
Martin Schwenke 2014-11-26 21:32:22 +11:00 committed by Martin Schwenke
parent 2a83b74597
commit d9d07fff34

View File

@ -67,10 +67,18 @@ setup_ctdb ()
local i
for i in $(seq 1 $TEST_LOCAL_DAEMONS) ; do
if [ "${CTDB_USE_IPV6}x" != "x" ]; then
echo ::$i >>"$CTDB_NODES"
ip addr add ::$i/128 dev lo
j=$((printf "%02x" $i))
echo "fd00::5357:5f${j}" >>"$CTDB_NODES"
# FIXME: need to add addresses to lo as root before running :-(
# ip addr add "fc00:10::${i}/64" dev lo
# 2 public addresses on most nodes, just to make things interesting.
if [ $(($i - 1)) -ne $no_public_ips ] ; then
echo "fc00:10::1:${i}/64 lo" >>"$public_addresses_all"
echo "fc00:10::1:$(($i + $TEST_LOCAL_DAEMONS))/64 lo" >>"$public_addresses_all"
fi
else
echo 127.0.0.$i >>"$CTDB_NODES"
j=$(( $i + 10))
echo 127.0.0.$j >>"$CTDB_NODES"
# 2 public addresses on most nodes, just to make things interesting.
if [ $(($i - 1)) -ne $no_public_ips ] ; then
echo "192.168.234.$i/24 lo" >>"$public_addresses_all"