From 9ac8d8aed89dc92e710011571fb648781cf40c62 Mon Sep 17 00:00:00 2001 From: Adrien Delorme Date: Fri, 12 Apr 2019 16:51:57 +0200 Subject: [PATCH] step download: ovf files usually point to a file in the same directory, using them in place is the only way --- common/step_download.go | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/common/step_download.go b/common/step_download.go index aacc0b7a3..2310d0311 100644 --- a/common/step_download.go +++ b/common/step_download.go @@ -7,6 +7,7 @@ import ( "fmt" "log" "os" + "strings" "github.com/gofrs/flock" getter "github.com/hashicorp/go-getter" @@ -62,7 +63,17 @@ func (s *StepDownload) Run(ctx context.Context, state multistep.StateBag) multis return multistep.ActionHalt } ui.Say(fmt.Sprintf("Trying %s", source)) - dst, err := s.download(ctx, ui, source) + var err error + var dst string + if s.Description == "OVF/OVA" && strings.HasSuffix(source, ".ovf") { + // TODO(adrien): make go-getter allow using files in place. + // ovf files usually point to a file in the same directory, so + // using them in place is the only way. + ui.Say(fmt.Sprintf("Using ovf inplace")) + dst = source + } else { + dst, err = s.download(ctx, ui, source) + } if err == nil { state.Put(s.ResultKey, dst) return multistep.ActionContinue