43 lines
1.2 KiB
Bash
Executable File
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
|