Enable GPUs and secondary disks for TdS net, pull external account file (#5031)

* Enable V100 GPUs over 3 regions for TdS cluster

* Turn on secondary config-local drive for tds net

* Enable long args bypass for GPU machine details

* bypass quoted long arg

* Pull external account file from wget

* typo

* Symlink config-local instead of changing the path variables

* Fix link path
This commit is contained in:
Dan Albert 2019-07-12 09:38:47 -06:00 committed by GitHub
parent 9f58318fc5
commit 5ac173d208
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 28 additions and 7 deletions

View File

@ -119,6 +119,9 @@ while [[ -n $1 ]]; do
elif [[ $1 = --fullnode-additional-disk-size-gb ]]; then
maybeFullnodeAdditionalDiskSize="$1 $2"
shift 2
elif [[ $1 == --machine-type* ]]; then # Bypass quoted long args for GPUs
shortArgs+=("$1")
shift
else
usage "Unknown long option: $1"
fi

View File

@ -469,12 +469,23 @@ deploy() {
tds)
(
set -x
# TODO: Should we spread the few nodes around multiple zones?
EXTERNAL_ACCOUNTS_FILE_URL=https://raw.githubusercontent.com/solana-labs/tour-de-sol/master/stage1/validator.yml
EXTERNAL_ACCOUNTS_FILE=/tmp/validator.yml
wget ${EXTERNAL_ACCOUNTS_FILE_URL} -O ${EXTERNAL_ACCOUNTS_FILE}
# Multiple V100 GPUs are available in us-west1, us-central1 and europe-west4
# shellcheck disable=SC2068
# shellcheck disable=SC2086
NO_LEDGER_VERIFY=1 \
NO_VALIDATOR_SANITY=1 \
ci/testnet-deploy.sh -p tds-solana-com -C gce ${GCE_ZONE_ARGS[0]} \
ci/testnet-deploy.sh -p tds-solana-com -C gce \
-G "--machine-type n1-standard-16 --accelerator count=2,type=nvidia-tesla-v100" \
-d pd-ssd \
-z us-west1-a \
-z us-central1-a \
-z europe-west4-a \
-t "$CHANNEL_OR_TAG" -n "$GCE_NODE_COUNT" -c 1 -P -u \
-a tds-solana-com --letsencrypt tds.solana.com \
--hashes-per-tick auto \
@ -483,9 +494,10 @@ deploy() {
${maybeStop:+-S} \
${maybeDelete:+-D} \
--stake-internal-nodes 1000000000000 \
--external-accounts-file /tmp/stakes.yml \
--external-accounts-file "$EXTERNAL_ACCOUNTS_FILE" \
--lamports 8589934592000000000 \
--skip-deploy-update
--skip-deploy-update \
--fullnode-additional-disk-size-gb 32000
)
;;

View File

@ -70,11 +70,14 @@ source "$SOLANA_ROOT"/scripts/configure-metrics.sh
SOLANA_RSYNC_CONFIG_DIR=$SOLANA_ROOT/config
# Configuration that remains local
SOLANA_CONFIG_DIR=$SOLANA_ROOT/config-local
# If there is a secondary disk, symlink the config-local dir there
SECONDARY_DISK_MOUNT_POINT=/mnt/extra-disk
if [[ -d $SECONDARY_DISK_MOUNT_POINT ]]; then
SOLANA_CONFIG_DIR=$SECONDARY_DISK_MOUNT_POINT/config-local
else
SOLANA_CONFIG_DIR=$SOLANA_ROOT/config-local
mkdir -p $SECONDARY_DISK_MOUNT_POINT/config-local
mkdir -p "$SOLANA_ROOT"
ln -s $SECONDARY_DISK_MOUNT_POINT/config-local "$SOLANA_ROOT"
fi
default_arg() {

View File

@ -159,6 +159,9 @@ while [[ -n $1 ]]; do
elif [[ $1 = --fullnode-additional-disk-size-gb ]]; then
fullNodeAdditionalDiskSizeInGb="$2"
shift 2
elif [[ $1 == --machine-type* ]]; then # Bypass quoted long args for GPUs
shortArgs+=("$1")
shift
else
usage "Unknown long option: $1"
fi