Merge pull request #7497 from hashicorp/fix_ovf_inplace

Use ovf files in place instead of symlinking
This commit is contained in:
Megan Marsh 2019-04-12 11:07:48 -07:00 committed by GitHub
commit 5e52e6e2c4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 12 additions and 1 deletions

View File

@ -7,6 +7,7 @@ import (
"fmt" "fmt"
"log" "log"
"os" "os"
"strings"
"github.com/gofrs/flock" "github.com/gofrs/flock"
getter "github.com/hashicorp/go-getter" getter "github.com/hashicorp/go-getter"
@ -62,7 +63,17 @@ func (s *StepDownload) Run(ctx context.Context, state multistep.StateBag) multis
return multistep.ActionHalt return multistep.ActionHalt
} }
ui.Say(fmt.Sprintf("Trying %s", source)) 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 { if err == nil {
state.Put(s.ResultKey, dst) state.Put(s.ResultKey, dst)
return multistep.ActionContinue return multistep.ActionContinue