1*800a58d9SAndroid Build Coastguard Worker#!/bin/bash 2*800a58d9SAndroid Build Coastguard Worker# 3*800a58d9SAndroid Build Coastguard Worker# Script for operators to create formated images. 4*800a58d9SAndroid Build Coastguard Worker# first arg is the size of a disk in GB. 5*800a58d9SAndroid Build Coastguard Worker 6*800a58d9SAndroid Build Coastguard Workerset -x 7*800a58d9SAndroid Build Coastguard Workerset -o errexit 8*800a58d9SAndroid Build Coastguard Worker 9*800a58d9SAndroid Build Coastguard Workerif [ "$#" -ne 1 ]; then 10*800a58d9SAndroid Build Coastguard Worker echo "The argument should be the size of a disk in GB" 11*800a58d9SAndroid Build Coastguard Worker exit 2 12*800a58d9SAndroid Build Coastguard Workerfi 13*800a58d9SAndroid Build Coastguard Worker 14*800a58d9SAndroid Build Coastguard WorkerPROJECT=android-treehugger 15*800a58d9SAndroid Build Coastguard WorkerZONE=us-central1-f 16*800a58d9SAndroid Build Coastguard WorkerDISK_NAME="extradisk-instance-${1}gb" 17*800a58d9SAndroid Build Coastguard WorkerIMAGE_NAME="extradisk-image-${1}gb" 18*800a58d9SAndroid Build Coastguard WorkerDEV_FILE="/dev/sdc" 19*800a58d9SAndroid Build Coastguard Worker 20*800a58d9SAndroid Build Coastguard Workergcloud compute disks create "${DISK_NAME}" --zone=${ZONE} --project=${PROJECT} --size="${1}GB" 21*800a58d9SAndroid Build Coastguard Workergcloud compute instances attach-disk instance-disk-creation --disk "${DISK_NAME}" --zone=${ZONE} --project=${PROJECT} 22*800a58d9SAndroid Build Coastguard Worker 23*800a58d9SAndroid Build Coastguard Workergcloud compute ssh instance-disk-creation --zone=${ZONE} --project=${PROJECT} --command "sudo mkfs.ext4 -F ${DEV_FILE}" 24*800a58d9SAndroid Build Coastguard Workergcloud compute ssh instance-disk-creation --zone=${ZONE} --project=${PROJECT} --command "sudo mount -o discard,defaults ${DEV_FILE} /mnt" 25*800a58d9SAndroid Build Coastguard Workergcloud compute ssh instance-disk-creation --zone=${ZONE} --project=${PROJECT} --command "ls /mnt" 26*800a58d9SAndroid Build Coastguard Workergcloud compute ssh instance-disk-creation --zone=${ZONE} --project=${PROJECT} --command "sudo umount /mnt" 27*800a58d9SAndroid Build Coastguard Worker 28*800a58d9SAndroid Build Coastguard Workergcloud compute instances detach-disk instance-disk-creation --disk "${DISK_NAME}" --zone=${ZONE} --project=${PROJECT} 29*800a58d9SAndroid Build Coastguard Workergcloud compute images create "${IMAGE_NAME}" --source-disk-zone=${ZONE} --source-disk "${DISK_NAME}" --project=${PROJECT} 30*800a58d9SAndroid Build Coastguard Workergcloud compute disks delete "${DISK_NAME}" --zone=${ZONE} --project=${PROJECT} 31*800a58d9SAndroid Build Coastguard Workerecho "Done image ${IMAGE_NAME} is ready." 32