bootstrap-network.sh 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. #! /bin/sh
  2. #
  3. # 1. potentially stop running network
  4. # 2. bootstrap a network from scratch as quickly as possible
  5. # 3. tail -F all the tor log files
  6. #
  7. # NOTE: leaves debris around by renaming directory net/nodes
  8. # and creating a new net/nodes
  9. #
  10. # Usage:
  11. # cd YOUR-CHUTNEY-DIRECTORY
  12. # tools/bootstrap-network.sh [network-flavour]
  13. # network-flavour: one of the files in the networks directory,
  14. # (default: 'basic')
  15. #
  16. VOTING_OFFSET=6
  17. CHUTNEY=./chutney
  18. myname=$(basename "$0")
  19. [ -x $CHUTNEY ] || { echo "$myname: missing $CHUTNEY"; exit 1; }
  20. [ -d networks ] || { echo "$myname: missing directory: networks"; exit 1; }
  21. [ -d net ] || { echo "$myname: missing directory: net"; exit 1; }
  22. flavour=basic; [ -n "$1" ] && { flavour=$1; shift; }
  23. $CHUTNEY stop networks/$flavour
  24. [ -d net/nodes ] && {
  25. DEST=net/nodes.$(date +%s)
  26. echo "$myname: NOTE: renaming net/nodes to $DEST"
  27. mv net/nodes $DEST
  28. }
  29. echo "$myname: boostrapping network: $flavour"
  30. $CHUTNEY configure networks/$flavour
  31. # TODO: Make 'chutney configure' take an optional offset argument and
  32. # use the templating system in Chutney to set this instead of editing
  33. # files like this.
  34. offset=$(expr \( $(date +%s) + $VOTING_OFFSET \) % 300)
  35. CONFOPT="TestingV3AuthVotingStartOffset"
  36. for file in net/nodes/*a/torrc; do
  37. sed -i.bak -e "s/^${CONFOPT}.*$/${CONFOPT} $offset/1" $file
  38. done
  39. $CHUTNEY start networks/$flavour
  40. $CHUTNEY status networks/$flavour
  41. #echo "tail -F net/nodes/*/notice.log"