Configure boot disk size

This commit is contained in:
Michael Vines 2018-09-06 12:14:04 -07:00
parent a3178c3bc7
commit 9ca6a2d25b
2 changed files with 28 additions and 8 deletions

View File

@ -9,11 +9,14 @@ source "$here"/common.sh
prefix=testnet-dev-${USER//[^A-Za-z0-9]/}
validatorNodeCount=5
clientNodeCount=1
leaderBootDiskSize=1TB
leaderMachineType=n1-standard-16
leaderAccelerator=
validatorMachineType=n1-standard-4
validatorBootDiskSize=$leaderBootDiskSize
validatorAccelerator=
clientMachineType=n1-standard-16
clientBootDiskSize=40GB
clientAccelerator=
imageName="ubuntu-16-04-cuda-9-2-new"
@ -107,6 +110,7 @@ done
prepareInstancesAndWriteConfigFile() {
$metricsWriteDatapoint "testnet-deploy net-config-start=1"
cat >> "$configFile" <<EOF
# autogenerated at $(date)
@ -174,10 +178,13 @@ EOF
}
echo "Wrote $configFile"
$metricsWriteDatapoint "testnet-deploy net-config-complete=1"
}
case $command in
delete)
$metricsWriteDatapoint "testnet-deploy net-delete-start=1"
gcloud_FindInstances "name~^$prefix-"
if [[ ${#instances[@]} -eq 0 ]]; then
@ -186,11 +193,15 @@ delete)
fi
gcloud_DeleteInstances "$yes"
rm -f "$configFile"
$metricsWriteDatapoint "testnet-deploy net-delete-complete=1"
;;
create)
[[ -n $validatorNodeCount ]] || usage "Need number of nodes"
$metricsWriteDatapoint "testnet-deploy net-create=1"
echo "Network composition:"
echo "Leader = $leaderMachineType (GPU=${leaderAccelerator:-none})"
echo "Validators = $validatorNodeCount x $validatorMachineType (GPU=${validatorAccelerator:-none})"
@ -198,18 +209,20 @@ create)
echo ==================================================================
echo
gcloud_CreateInstances "$prefix-leader" 1 "$zone" \
"$imageName" "$leaderMachineType" "$leaderAccelerator" \
"$imageName" "$leaderMachineType" "$leaderBootDiskSize" "$leaderAccelerator" \
"$here/remote/remote-startup.sh" "$leaderAddress" \
gcloud_CreateInstances "$prefix-validator" "$validatorNodeCount" "$zone" \
"$imageName" "$validatorMachineType" "$validatorAccelerator" \
"$imageName" "$validatorMachineType" "$validatorBootDiskSize" "$validatorAccelerator" \
"$here/remote/remote-startup.sh" ""
if [[ -n $clientNodeCount ]]; then
gcloud_CreateInstances "$prefix-client" "$clientNodeCount" "$zone" \
"$imageName" "$clientMachineType" "$clientAccelerator" \
"$imageName" "$clientMachineType" "$clientBootDiskSize" "$clientAccelerator" \
"$here/remote/remote-startup.sh" ""
fi
$metricsWriteDatapoint "testnet-deploy net-create-complete=1"
prepareInstancesAndWriteConfigFile
;;

View File

@ -76,7 +76,8 @@ gcloud_ForEachInstance() {
#
# gcloud_CreateInstances [namePrefix] [numNodes] [zone] [imageName]
# [machineType] [accelerator] [startupScript] [address]
# [machineType] [bootDiskSize] [accelerator]
# [startupScript] [address]
#
# Creates one more identical instances.
#
@ -85,6 +86,7 @@ gcloud_ForEachInstance() {
# zone - zone to create the instances in
# imageName - Disk image for the instances
# machineType - GCE machine type
# bootDiskSize - Optional disk of the boot disk
# accelerator - Optional accelerator to attach to the instance(s), see
# eg, request 4 K80 GPUs with "count=4,type=nvidia-tesla-k80"
# startupScript - Optional startup script to execute when the instance boots
@ -100,9 +102,10 @@ gcloud_CreateInstances() {
declare zone="$3"
declare imageName="$4"
declare machineType="$5"
declare optionalAccelerator="$6"
declare optionalStartupScript="$7"
declare optionalAddress="$8"
declare optionalBootDiskSize="$6"
declare optionalAccelerator="$7"
declare optionalStartupScript="$8"
declare optionalAddress="$9"
declare nodes
if [[ $numNodes = 1 ]]; then
@ -118,6 +121,11 @@ gcloud_CreateInstances() {
"--image=$imageName"
"--machine-type=$machineType"
)
if [[ -n $optionalBootDiskSize ]]; then
args+=(
"--boot-disk-size=$optionalBootDiskSize"
)
fi
if [[ -n $optionalAccelerator ]]; then
args+=(
"--accelerator=$optionalAccelerator"
@ -125,7 +133,6 @@ gcloud_CreateInstances() {
--restart-on-failure
)
fi
if [[ -n $optionalStartupScript ]]; then
args+=(
--metadata-from-file "startup-script=$optionalStartupScript"