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

#!/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."