Skip to content

Commit 44e0d1e

Browse files
committed
Check errors when creating virtual machine
Signed-off-by: Troels Thomsen <troels@thomsen.io>
1 parent f748ac1 commit 44e0d1e

File tree

1 file changed

+32
-8
lines changed

1 file changed

+32
-8
lines changed

drivers/vmwarefusion/fusion_darwin.go

Lines changed: 32 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -280,7 +280,10 @@ func (d *Driver) Create() error {
280280
}
281281

282282
log.Infof("Starting %s...", d.MachineName)
283-
vmrun("start", d.vmxPath(), "nogui")
283+
_, _, err = vmrun("start", d.vmxPath(), "nogui")
284+
if err != nil {
285+
return err
286+
}
284287

285288
var ip string
286289

@@ -357,19 +360,34 @@ func (d *Driver) Create() error {
357360
}
358361

359362
// Test if /var/lib/boot2docker exists
360-
vmrun("-gu", B2DUser, "-gp", B2DPass, "directoryExistsInGuest", d.vmxPath(), "/var/lib/boot2docker")
363+
_, _, err = vmrun("-gu", B2DUser, "-gp", B2DPass, "directoryExistsInGuest", d.vmxPath(), "/var/lib/boot2docker")
364+
if err != nil {
365+
return err
366+
}
361367

362368
// Copy SSH keys bundle
363-
vmrun("-gu", B2DUser, "-gp", B2DPass, "CopyFileFromHostToGuest", d.vmxPath(), d.ResolveStorePath("userdata.tar"), "/home/docker/userdata.tar")
369+
_, _, err = vmrun("-gu", B2DUser, "-gp", B2DPass, "CopyFileFromHostToGuest", d.vmxPath(), d.ResolveStorePath("userdata.tar"), "/home/docker/userdata.tar")
370+
if err != nil {
371+
return err
372+
}
364373

365374
// Expand tar file.
366-
vmrun("-gu", B2DUser, "-gp", B2DPass, "runScriptInGuest", d.vmxPath(), "/bin/sh", "sudo sh -c \"tar xvf /home/docker/userdata.tar -C /home/docker > /var/log/userdata.log 2>&1 && chown -R docker:staff /home/docker\"")
375+
_, _, err = vmrun("-gu", B2DUser, "-gp", B2DPass, "runScriptInGuest", d.vmxPath(), "/bin/sh", "sudo sh -c \"tar xvf /home/docker/userdata.tar -C /home/docker > /var/log/userdata.log 2>&1 && chown -R docker:staff /home/docker\"")
376+
if err != nil {
377+
return err
378+
}
367379

368380
// copy to /var/lib/boot2docker
369-
vmrun("-gu", B2DUser, "-gp", B2DPass, "runScriptInGuest", d.vmxPath(), "/bin/sh", "sudo /bin/mv /home/docker/userdata.tar /var/lib/boot2docker/userdata.tar")
381+
_, _, err = vmrun("-gu", B2DUser, "-gp", B2DPass, "runScriptInGuest", d.vmxPath(), "/bin/sh", "sudo /bin/mv /home/docker/userdata.tar /var/lib/boot2docker/userdata.tar")
382+
if err != nil {
383+
return err
384+
}
370385

371386
// Enable Shared Folders
372-
vmrun("-gu", B2DUser, "-gp", B2DPass, "enableSharedFolders", d.vmxPath())
387+
_, _, err = vmrun("-gu", B2DUser, "-gp", B2DPass, "enableSharedFolders", d.vmxPath())
388+
if err != nil {
389+
return err
390+
}
373391

374392
var shareName, shareDir string // TODO configurable at some point
375393
switch runtime.GOOS {
@@ -384,9 +402,15 @@ func (d *Driver) Create() error {
384402
return err
385403
} else if !os.IsNotExist(err) {
386404
// add shared folder, create mountpoint and mount it.
387-
vmrun("-gu", B2DUser, "-gp", B2DPass, "addSharedFolder", d.vmxPath(), shareName, shareDir)
405+
_, _, err = vmrun("-gu", B2DUser, "-gp", B2DPass, "addSharedFolder", d.vmxPath(), shareName, shareDir)
406+
if err != nil {
407+
return err
408+
}
388409
command := "[ ! -d " + shareDir + " ]&& sudo mkdir " + shareDir + "; sudo mount --bind /mnt/hgfs/" + shareDir + " " + shareDir + " || [ -f /usr/local/bin/vmhgfs-fuse ]&& sudo /usr/local/bin/vmhgfs-fuse -o allow_other .host:/" + shareName + " " + shareDir + " || sudo mount -t vmhgfs -o uid=$(id -u),gid=$(id -g) .host:/" + shareName + " " + shareDir
389-
vmrun("-gu", B2DUser, "-gp", B2DPass, "runScriptInGuest", d.vmxPath(), "/bin/sh", command)
410+
_, _, err = vmrun("-gu", B2DUser, "-gp", B2DPass, "runScriptInGuest", d.vmxPath(), "/bin/sh", command)
411+
if err != nil {
412+
return err
413+
}
390414
}
391415
}
392416
return nil

0 commit comments

Comments
 (0)