From d02b106a16dde0aa5a77275ee74bf5dad825590b Mon Sep 17 00:00:00 2001 From: Lamoni Finlayson Date: Wed, 24 Aug 2016 09:30:26 -0700 Subject: [PATCH] Fix for issue #2972 - Implemented ssh_host for virtualbox builders (#3617) --- builder/virtualbox/common/ssh.go | 6 ++++-- builder/virtualbox/common/ssh_config.go | 4 ++++ builder/virtualbox/iso/builder.go | 2 +- builder/virtualbox/ovf/builder.go | 2 +- 4 files changed, 10 insertions(+), 4 deletions(-) diff --git a/builder/virtualbox/common/ssh.go b/builder/virtualbox/common/ssh.go index c9080df1d..b4a05c549 100644 --- a/builder/virtualbox/common/ssh.go +++ b/builder/virtualbox/common/ssh.go @@ -7,8 +7,10 @@ import ( gossh "golang.org/x/crypto/ssh" ) -func CommHost(state multistep.StateBag) (string, error) { - return "127.0.0.1", nil +func CommHost(host string) func(multistep.StateBag) (string, error) { + return func(state multistep.StateBag) (string, error) { + return host, nil + } } func SSHPort(state multistep.StateBag) (int, error) { diff --git a/builder/virtualbox/common/ssh_config.go b/builder/virtualbox/common/ssh_config.go index 5095f2b03..3d31781f1 100644 --- a/builder/virtualbox/common/ssh_config.go +++ b/builder/virtualbox/common/ssh_config.go @@ -21,6 +21,10 @@ type SSHConfig struct { } func (c *SSHConfig) Prepare(ctx *interpolate.Context) []error { + if c.Comm.SSHHost == "" { + c.Comm.SSHHost = "127.0.0.1" + } + if c.SSHHostPortMin == 0 { c.SSHHostPortMin = 2222 } diff --git a/builder/virtualbox/iso/builder.go b/builder/virtualbox/iso/builder.go index 99dff6263..13a2c9eaa 100644 --- a/builder/virtualbox/iso/builder.go +++ b/builder/virtualbox/iso/builder.go @@ -235,7 +235,7 @@ func (b *Builder) Run(ui packer.Ui, hook packer.Hook, cache packer.Cache) (packe }, &communicator.StepConnect{ Config: &b.config.SSHConfig.Comm, - Host: vboxcommon.CommHost, + Host: vboxcommon.CommHost(b.config.SSHConfig.Comm.SSHHost), SSHConfig: vboxcommon.SSHConfigFunc(b.config.SSHConfig), SSHPort: vboxcommon.SSHPort, }, diff --git a/builder/virtualbox/ovf/builder.go b/builder/virtualbox/ovf/builder.go index ab99f6544..502f66734 100644 --- a/builder/virtualbox/ovf/builder.go +++ b/builder/virtualbox/ovf/builder.go @@ -104,7 +104,7 @@ func (b *Builder) Run(ui packer.Ui, hook packer.Hook, cache packer.Cache) (packe }, &communicator.StepConnect{ Config: &b.config.SSHConfig.Comm, - Host: vboxcommon.CommHost, + Host: vboxcommon.CommHost(b.config.SSHConfig.Comm.SSHHost), SSHConfig: vboxcommon.SSHConfigFunc(b.config.SSHConfig), SSHPort: vboxcommon.SSHPort, },