From 437481853b12ccd6ce48de996aa1154b4375ed7c Mon Sep 17 00:00:00 2001 From: Michael Vines Date: Thu, 21 Mar 2019 15:27:09 -0700 Subject: [PATCH] Ensure genesis ledger directory is populated on all validator nodes This allows all nodes to serve the genesis ledger over rsync instead of just the bootstrap leader --- multinode-demo/fullnode.sh | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/multinode-demo/fullnode.sh b/multinode-demo/fullnode.sh index e36b65709..2c07bafe5 100755 --- a/multinode-demo/fullnode.sh +++ b/multinode-demo/fullnode.sh @@ -167,14 +167,13 @@ rsync_url() { # adds the 'rsync://` prefix to URLs that need it rsync_leader_url=$(rsync_url "$leader") set -ex -if [[ ! -d "$ledger_config_dir" ]]; then - $rsync -vPr "$rsync_leader_url"/config/ledger/ "$ledger_config_dir" - [[ -d $ledger_config_dir ]] || { - echo "Unable to retrieve ledger from $rsync_leader_url" - exit 1 - } - $solana_ledger_tool --ledger "$ledger_config_dir" verify +if [[ ! -d "$SOLANA_RSYNC_CONFIG_DIR"/ledger ]]; then + $rsync -vPr "$rsync_leader_url"/config/ledger "$SOLANA_RSYNC_CONFIG_DIR"/ledger +fi +if [[ ! -d "$ledger_config_dir" ]]; then + cp -a "$SOLANA_RSYNC_CONFIG_DIR"/ledger/ "$ledger_config_dir" + $solana_ledger_tool --ledger "$ledger_config_dir" verify fi trap 'kill "$pid" && wait "$pid"' INT TERM ERR