Skip to content

Commit d44ee71

Browse files
committed
Split responsibilities on the golang side.
For now, `mountAttachedDisk` returns a static mountpoint; it should really be defined on the golang side and passed down to the underlying script. That will come on the next commit.
1 parent 3de2858 commit d44ee71

File tree

1 file changed

+31
-13
lines changed
  • tools/baseimage/cmd/gce_install_cuttlefish_packages

1 file changed

+31
-13
lines changed

tools/baseimage/cmd/gce_install_cuttlefish_packages/main.go

Lines changed: 31 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -69,15 +69,7 @@ type amendImageOpts struct {
6969
DebSrcs []string
7070
}
7171

72-
func installCuttlefishDebs(project, zone, insName string, debSrcs []string) error {
73-
dstSrcs := []string{}
74-
for _, src := range debSrcs {
75-
dst := "/tmp/" + filepath.Base(src)
76-
dstSrcs = append(dstSrcs, dst)
77-
if err := gce.UploadFile(project, zone, insName, src, dst); err != nil {
78-
return fmt.Errorf("error uploading %s: %v", src, err)
79-
}
80-
}
72+
func uploadScripts(project, zone, insName string) error {
8173
list := []struct {
8274
dstname string
8375
content string
@@ -91,15 +83,29 @@ func installCuttlefishDebs(project, zone, insName string, debSrcs []string) erro
9183
return fmt.Errorf("error uploading bash script: %v", err)
9284
}
9385
}
86+
return nil
87+
}
9488

95-
if err := gce.RunCmd(project, zone, insName, "./fill_available_disk_space.sh"); err != nil {
96-
return err
97-
}
89+
func fillAvailableSpace(project, zone, insName string) error {
90+
return gce.RunCmd(project, zone, insName, "./fill_available_disk_space.sh")
91+
}
9892

93+
func mountAttachedDisk(project, zone, insName string) (string, error) {
9994
if err := gce.RunCmd(project, zone, insName, "./mount_attached_disk.sh"); err != nil {
100-
return err
95+
return "", err
10196
}
97+
return "/mnt/image/", nil
98+
}
10299

100+
func installCuttlefishDebs(project, zone, insName string, debSrcs []string) error {
101+
dstSrcs := []string{}
102+
for _, src := range debSrcs {
103+
dst := "/tmp/" + filepath.Base(src)
104+
dstSrcs = append(dstSrcs, dst)
105+
if err := gce.UploadFile(project, zone, insName, src, dst); err != nil {
106+
return fmt.Errorf("error uploading %s: %v", src, err)
107+
}
108+
}
103109
args := strings.Join(dstSrcs, " ")
104110
if err := gce.RunCmd(project, zone, insName, "./install.sh "+args); err != nil {
105111
return err
@@ -171,6 +177,18 @@ func amendImageMain(project, zone string, opts amendImageOpts) error {
171177
return fmt.Errorf("waiting for instance error: %v", err)
172178
}
173179

180+
if err := uploadScripts(project, zone, insName); err != nil {
181+
return fmt.Errorf("uploadScripts error: %v", err)
182+
}
183+
184+
if err := fillAvailableSpace(project, zone, insName); err != nil {
185+
return fmt.Errorf("fillAvailableSpace error: %v", err)
186+
}
187+
188+
if _, err := mountAttachedDisk(project, zone, insName); err != nil {
189+
return fmt.Errorf("mountAttachedDisk error: %v", err)
190+
}
191+
174192
if err := installCuttlefishDebs(project, zone, insName, opts.DebSrcs); err != nil {
175193
return fmt.Errorf("install cuttlefish debs error: %v", err)
176194
}

0 commit comments

Comments
 (0)