Files
weave/test/370_persist_ipam_2_test.sh
Marc CARRE 43249a8d39 Change all launch-*/stop-* commands to launch/stop.
Given `proxy` & `router` processes have been merged, `launch-proxy`,
`launch-router`, `stop-proxy`, `stop-router` do not make sense any more, and
should just be `launch` and `stop` with the appropriate flags.
2017-05-10 10:25:36 +00:00

52 lines
1.3 KiB
Bash
Executable File

#! /bin/bash
. "$(dirname "$0")/config.sh"
start_suite "Checking persistence of IPAM"
launch_router_with_db() {
host=$1
shift
weave_on $host launch "$@"
}
launch_router_with_db $HOST1 $HOST2
launch_router_with_db $HOST2 $HOST1
EXPOSE=$(weave_on $HOST1 expose)
start_container $HOST1 --name=c1
C1=$(container_ip $HOST1 c1)
start_container $HOST2 --name=c2
assert_raises "exec_on $HOST2 c2 $PING $C1"
start_container $HOST2 --name=c3a
C3a=$(container_ip $HOST2 c3a)
stop_weave_on $HOST1
stop_weave_on $HOST2
# Stop one container while weave is down; the address should be freed on launch
docker_on $HOST2 rm -f c3a
# Start just HOST2; if nothing persisted it would form its own ring
launch_router_with_db $HOST2
start_container $HOST2 --name=c3
C3=$(container_ip $HOST2 c3)
assert_raises "[ $C3 != $C1 ]"
assert_raises "[ $C3 = $C3a ]"
# Restart HOST1 and see if it remembers to connect to HOST2
#
# disabled pending rationalisation of the expected behaviour
#
# launch_router_with_db $HOST1
# assert_raises "exec_on $HOST2 c2 $PING $C1"
# Restart the router without going through the reclaim procedure on launch
docker_on $HOST1 restart weave
# Check that weave:expose address hasn't been lost
start_container $HOST1 --name=c4
C4=$(container_ip $HOST1 c4)
assert_raises "[ $C4 != $EXPOSE ]"
end_suite