4 changed files with 49 additions and 14 deletions
@ -0,0 +1,6 @@
|
||||
Test Root Topology Script |
||||
====== |
||||
|
||||
This builds a test-root-topology from any number of running test-supernode-# Docker containers. This can then be used with the (undocumented) -T (override root topology) option to run test networks under Docker. |
||||
|
||||
Once you have a local Docker test network running you can use iptables rules to simulate a variety of network pathologies, or you can just use it to test any new changes to the protocol or node behavior at some limited scale. |
||||
@ -0,0 +1,31 @@
|
||||
#!/bin/bash |
||||
|
||||
if [ ! -e ../mktopology ]; then |
||||
echo 'Build ../mktopology first!' |
||||
exit 1 |
||||
fi |
||||
|
||||
echo 'Populating supernodes/* with all Docker test-supernode-* container IPs and identities...' |
||||
|
||||
rm -rf supernodes |
||||
mkdir supernodes |
||||
|
||||
for cid in `docker ps -f 'name=test-supernode-*' -q`; do |
||||
id=`docker exec $cid cat /var/lib/zerotier-one/identity.public` |
||||
ztaddr=`echo $id | cut -d : -f 1` |
||||
ip=`docker exec $cid ifconfig | sed -En 's/127.0.0.1//;s/.*inet (addr:)?(([0-9]*\.){3}[0-9]*).*/\2/p'` |
||||
echo $cid $ztaddr $id $ip |
||||
echo "id=$id" >supernodes/$ztaddr |
||||
echo "udp=$ip/9993" >>supernodes/$ztaddr |
||||
done |
||||
|
||||
echo 'Creating test-root-topology...' |
||||
|
||||
rm -f test-root-topology |
||||
../mktopology >test-root-topology |
||||
|
||||
echo 'Done!' |
||||
echo |
||||
cat test-root-topology |
||||
|
||||
exit 0 |
||||
Loading…
Reference in new issue