xref: /aosp_15_r20/tools/acloud/internal/script/create_extradisk.sh (revision 800a58d989c669b8eb8a71d8df53b1ba3d411444)
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