You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
32 lines
1.4 KiB
32 lines
1.4 KiB
#!/bin/bash
|
|
#
|
|
# Script for operators to create formated images.
|
|
# first arg is the size of a disk in GB.
|
|
|
|
set -x
|
|
set -o errexit
|
|
|
|
if [ "$#" -ne 1 ]; then
|
|
echo "The argument should be the size of a disk in GB"
|
|
exit 2
|
|
fi
|
|
|
|
PROJECT=android-treehugger
|
|
ZONE=us-central1-f
|
|
DISK_NAME="extradisk-instance-${1}gb"
|
|
IMAGE_NAME="extradisk-image-${1}gb"
|
|
DEV_FILE="/dev/sdc"
|
|
|
|
gcloud compute disks create "${DISK_NAME}" --zone=${ZONE} --project=${PROJECT} --size="${1}GB"
|
|
gcloud compute instances attach-disk instance-disk-creation --disk "${DISK_NAME}" --zone=${ZONE} --project=${PROJECT}
|
|
|
|
gcloud compute ssh instance-disk-creation --zone=${ZONE} --project=${PROJECT} --command "sudo mkfs.ext4 -F ${DEV_FILE}"
|
|
gcloud compute ssh instance-disk-creation --zone=${ZONE} --project=${PROJECT} --command "sudo mount -o discard,defaults ${DEV_FILE} /mnt"
|
|
gcloud compute ssh instance-disk-creation --zone=${ZONE} --project=${PROJECT} --command "ls /mnt"
|
|
gcloud compute ssh instance-disk-creation --zone=${ZONE} --project=${PROJECT} --command "sudo umount /mnt"
|
|
|
|
gcloud compute instances detach-disk instance-disk-creation --disk "${DISK_NAME}" --zone=${ZONE} --project=${PROJECT}
|
|
gcloud compute images create "${IMAGE_NAME}" --source-disk-zone=${ZONE} --source-disk "${DISK_NAME}" --project=${PROJECT}
|
|
gcloud compute disks delete "${DISK_NAME}" --zone=${ZONE} --project=${PROJECT}
|
|
echo "Done image ${IMAGE_NAME} is ready."
|