Skip to content

Commit a28b140

Browse files
committed
Allows to set disk image size.
1 parent 36ea567 commit a28b140

File tree

5 files changed

+27
-4
lines changed

5 files changed

+27
-4
lines changed

tools/baseimage/cmd/create_gce_x86_64_fixed_kernel/main.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ func createImageMain(project, zone, linuxImageDeb string) error {
7070
}
7171
}()
7272
log.Println("creating disk...")
73-
disk, err := h.CreateDisk(debianSourceImageProject, debianSourceImage, attachedDiskName)
73+
disk, err := h.CreateDisk(debianSourceImageProject, debianSourceImage, attachedDiskName, gce.CreateDiskOpts{})
7474
if err != nil {
7575
return fmt.Errorf("failed to create disk: %w", err)
7676
}

tools/baseimage/cmd/create_gce_x86_64_image/main.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ func createImageMain(project, zone string, opts createImageOpts) error {
7171
}
7272
}()
7373
log.Println("creating disk...")
74-
disk, err := h.CreateDisk(opts.SourceImageProject, opts.SourceImage, attachedDiskName)
74+
disk, err := h.CreateDisk(opts.SourceImageProject, opts.SourceImage, attachedDiskName, gce.CreateDiskOpts{})
7575
if err != nil {
7676
return fmt.Errorf("failed to create disk: %w", err)
7777
}

tools/baseimage/cmd/gce_install_cuttlefish_packages/main.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@ func installCuttlefishDebs(project, zone, insName string, debSrcs []string) erro
8282
dstname string
8383
content string
8484
}{
85+
{"fill_available_disk_space.sh", scripts.FillAvailableDiskSpace},
8586
{"mount_attached_disk.sh", scripts.MountAttachedDisk},
8687
{"install.sh", scripts.InstallCuttlefishPackages},
8788
}
@@ -133,7 +134,9 @@ func amendImageMain(project, zone string, opts amendImageOpts) error {
133134
attachedDiskName := fmt.Sprintf("%s-attached-disk", insName)
134135

135136
log.Println("creating disk...")
136-
_, err = h.CreateDisk(opts.SourceImageProject, opts.SourceImage, attachedDiskName)
137+
createDiskOpts := gce.CreateDiskOpts{SizeGb: 32}
138+
_, err = h.CreateDisk(
139+
opts.SourceImageProject, opts.SourceImage, attachedDiskName, createDiskOpts)
137140
if err != nil {
138141
return fmt.Errorf("failed to create disk: %w", err)
139142
}

tools/baseimage/pkg/gce/helper.go

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,10 +44,15 @@ func NewGceHelper(project, zone string) (*GceHelper, error) {
4444
}, nil
4545
}
4646

47-
func (h *GceHelper) CreateDisk(sourceImageProject, sourceImage, name string) (*compute.Disk, error) {
47+
type CreateDiskOpts struct {
48+
SizeGb int64
49+
}
50+
51+
func (h *GceHelper) CreateDisk(sourceImageProject, sourceImage, name string, opts CreateDiskOpts) (*compute.Disk, error) {
4852
payload := &compute.Disk{
4953
Name: name,
5054
SourceImage: fmt.Sprintf("projects/%s/global/images/%s", sourceImageProject, sourceImage),
55+
SizeGb: opts.SizeGb,
5156
}
5257
op, err := h.Service.Disks.Insert(h.Project, h.Zone, payload).Do()
5358
if err != nil {

tools/baseimage/pkg/gce/scripts/scripts.go

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -172,6 +172,19 @@ chmod a+x NVIDIA-Linux-${nvidia_arch}-${nvidia_version}.run
172172
NVIDIA-Linux-${nvidia_arch}-${nvidia_version}/nvidia-installer --silent --no-install-compat32-libs --no-backup --no-wine-files --install-libglvnd --dkms -k "${kmodver}"
173173
`
174174

175+
const FillAvailableDiskSpace = `#!/usr/bin/env bash
176+
set -o errexit -o nounset -o pipefail
177+
178+
sudo apt update
179+
180+
sudo apt install -y cloud-utils
181+
sudo apt install -y cloud-guest-utils
182+
sudo apt install -y fdisk
183+
sudo growpart /dev/sdb 1 || /bin/true
184+
sudo e2fsck -f -y /dev/sdb1 || /bin/true
185+
sudo resize2fs /dev/sdb1
186+
`
187+
175188
const InstallCuttlefishPackages = `#!/usr/bin/env bash
176189
set -o errexit -o nounset -o pipefail
177190
@@ -180,6 +193,8 @@ if [[ $# -eq 0 ]] ; then
180193
exit 1
181194
fi
182195
196+
./fill_available_disk_space.sh
197+
183198
./mount_attached_disk.sh
184199
185200
kmodver_begin=$(sudo chroot /mnt/image/ /usr/bin/dpkg -s linux-image-cloud-amd64 | grep ^Depends: | \

0 commit comments

Comments
 (0)