- Nameserver holds a sorted list of (hostname, peer, container id, ip) tuples. - Entries are gossiped using topology gossip / broadcast - only new/updated entries are propogated as expected. - Entries for a given peer are removed when the connection to the peer is lost. - Entries are tombstoned when containers die. Tombstones are kept for 10mins, as they do not need to survive partition, only gossip propagation delay.
34 lines
616 B
Bash
Executable File
34 lines
616 B
Bash
Executable File
#! /bin/bash
|
|
|
|
. ./config.sh
|
|
|
|
C1=10.2.0.67
|
|
C2=10.2.0.43
|
|
NAME=seetwo.weave.local
|
|
|
|
DOPTS="--name=c2 -h $NAME"
|
|
|
|
check() {
|
|
assert_dns_record $HOST1 c1 $NAME $C2
|
|
rm_containers $HOST1 c2
|
|
assert_no_dns_record $HOST1 c1 $NAME
|
|
}
|
|
|
|
start_suite "Automatic DNS record removal on container death"
|
|
|
|
weave_on $HOST1 launch
|
|
start_container_with_dns $HOST1 $C1/24 --name=c1
|
|
|
|
start_container $HOST1 $C2/24 $DOPTS
|
|
check
|
|
|
|
docker_on $HOST1 run $DOPTS -dt $SMALL_IMAGE /bin/sh
|
|
weave_on $HOST1 attach $C2/24 c2
|
|
check
|
|
|
|
docker_on $HOST1 create $DOPTS -t $SMALL_IMAGE /bin/sh
|
|
weave_on $HOST1 start $C2/24 c2
|
|
check
|
|
|
|
end_suite
|