Files
weave/test/160_claim_3_test.sh
T

43 lines
1.2 KiB
Bash
Executable File

#! /bin/bash
. ./config.sh
start_suite "Claiming addresses"
weave_on $HOST1 launch-router
weave_on $HOST2 launch-router $HOST1
start_container $HOST1 --name=c1
start_container $HOST2 --name=c2
C1=$(container_ip $HOST1 c1)
assert_raises "exec_on $HOST2 c2 $PING $C1"
stop_router_on $HOST1
stop_router_on $HOST2
# Start hosts in reverse order so c1's address has to be claimed from host2
weave_on $HOST2 launch-router
weave_on $HOST1 launch-router $HOST2
# Start another container on host2, so if it hasn't relinquished c1's
# address it would give that out as the first available.
start_container $HOST2 --name=c3
C3=$(container_ip $HOST2 c3)
assert_raises "[ $C3 != $C1 ]"
sleep 1 # give routers some time to fully establish connectivity
assert_raises "exec_on $HOST1 c1 $PING $C3"
stop_router_on $HOST1
stop_router_on $HOST2
# Now make host1 attempt to claim from host2, when host2 is stopped
# the point being to check whether host1 will hang trying to talk to host2
weave_on $HOST2 launch-router
# Introduce host3 to remember the IPAM CRDT when we stop host2
weave_on $HOST3 launch-router $HOST2
stop_router_on $HOST2
weave_on $HOST1 launch-router $HOST3
end_suite