From 03fb5fb0f1da6e01f26f46d3f42ae7c28a80dd5c Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Thu, 26 Dec 2013 15:03:12 -0700 Subject: [PATCH] builder/vmware/common: Fusion6 driver can clone --- builder/vmware/common/driver_fusion6.go | 11 +++++++++-- builder/vmware/iso/driver_esx5.go | 4 ++++ 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/builder/vmware/common/driver_fusion6.go b/builder/vmware/common/driver_fusion6.go index 0bb49e17f..98c466cb9 100644 --- a/builder/vmware/common/driver_fusion6.go +++ b/builder/vmware/common/driver_fusion6.go @@ -2,7 +2,6 @@ package common import ( "bytes" - "errors" "fmt" "log" "os" @@ -18,7 +17,15 @@ type Fusion6Driver struct { } func (d *Fusion6Driver) Clone(dst, src string) error { - return errors.New("Cloning is not supported with Fusion 5. Please use Fusion 6+.") + cmd := exec.Command(d.vmrunPath(), + "-T", "fusion", + "clone", src, dst, + "full") + if _, _, err := runAndLog(cmd); err != nil { + return err + } + + return nil } func (d *Fusion6Driver) Verify() error { diff --git a/builder/vmware/iso/driver_esx5.go b/builder/vmware/iso/driver_esx5.go index 2fc86f70c..09083d618 100644 --- a/builder/vmware/iso/driver_esx5.go +++ b/builder/vmware/iso/driver_esx5.go @@ -33,6 +33,10 @@ type ESX5Driver struct { outputDir string } +func (d *ESX5Driver) Clone(dst, src string) error { + return errors.New("Cloning is not supported with the ESX driver.") +} + func (d *ESX5Driver) CompactDisk(diskPathLocal string) error { return nil }