aboutsummaryrefslogtreecommitdiff
path: root/tools/bootstrap-network.sh
diff options
context:
space:
mode:
Diffstat (limited to 'tools/bootstrap-network.sh')
-rwxr-xr-xtools/bootstrap-network.sh40
1 files changed, 40 insertions, 0 deletions
diff --git a/tools/bootstrap-network.sh b/tools/bootstrap-network.sh
new file mode 100755
index 0000000..cd18e3d
--- /dev/null
+++ b/tools/bootstrap-network.sh
@@ -0,0 +1,40 @@
+#! /bin/sh
+#
+# 1. potentially stop running network
+# 2. bootstrap a network from scratch as quickly as possible
+# 3. tail -F all the tor log files
+#
+# NOTE: leaves debris around by renaming directory net/nodes
+# and creating a new net/nodes
+#
+# Usage:
+# cd YOUR-CHUTNEY-DIRECTORY
+# tools/bootstrap-network.sh [network-flavour]
+# network-flavour: one of the files in the networks directory,
+# (default: 'basic')
+#
+
+VOTING_OFFSET=6
+CHUTNEY=./chutney
+
+[ -x $CHUTNEY ] || { echo "$0: missing $CHUTNEY"; exit 1; }
+[ -d networks ] || { echo "$0: missing directory: networks"; exit 1; }
+[ -d net ] || { echo "$0: missing directory: net"; exit 1; }
+flavour=basic; [ -n "$1" ] && { flavour=$1; shift; }
+
+$CHUTNEY stop networks/$flavour
+[ -d net/nodes ] && mv net/nodes net/nodes.$(date +%s)
+echo "$0: boostrapping network: $flavour"
+$CHUTNEY configure networks/$flavour
+
+# TODO: Make 'chutney configure' take an optional offset argument and
+# use the templating system in Chutney to set this instead of editing
+# files like this.
+offset=$(expr \( $(date +%s) + $VOTING_OFFSET \) % 300)
+CONFOPT="TestingV3AuthVotingStartOffset"
+for file in net/nodes/*a/torrc; do
+ sed -i.bak -e "s/^${CONFOPT}.*$/${CONFOPT} $offset/1" $file
+done
+
+$CHUTNEY start networks/$flavour
+tail -F net/nodes/*/notice.log