Fixes #1106, Remote ESXi builder doesn't upload floppy

This commit is contained in:
Yuya Kusakabe 2014-05-03 18:23:20 +09:00
parent 12e28f257f
commit 5cac40b47c
3 changed files with 12 additions and 1 deletions

View File

@ -334,6 +334,10 @@ func (b *Builder) Run(ui packer.Ui, hook packer.Hook, cache packer.Cache) (packe
&common.StepCreateFloppy{
Files: b.config.FloppyFiles,
},
&stepRemoteUpload{
Key: "floppy_path",
Message: "Uploading Floppy to remote machine...",
},
&stepRemoteUpload{
Key: "iso_path",
Message: "Uploading ISO to remote machine...",

View File

@ -260,6 +260,9 @@ func (d *ESX5Driver) String() string {
}
func (d *ESX5Driver) datastorePath(path string) string {
if filepath.IsAbs(path) {
return filepath.Join("/vmfs/volumes", d.Datastore, strings.Replace(path, "/", "", 1))
}
return filepath.Join("/vmfs/volumes", d.Datastore, path)
}

View File

@ -24,8 +24,12 @@ func (s *stepRemoteUpload) Run(state multistep.StateBag) multistep.StepAction {
return multistep.ActionContinue
}
path, ok := state.Get(s.Key).(string)
if !ok {
return multistep.ActionContinue
}
ui.Say(s.Message)
path := state.Get(s.Key).(string)
log.Printf("Remote uploading: %s", path)
newPath, err := remote.UploadISO(path)
if err != nil {