ProxMox builder ssh communicator uses ssh_host from builder config when present
This commit is contained in:
parent
9f3bbd249c
commit
c261428c4f
|
@ -71,7 +71,7 @@ func (b *Builder) Run(ctx context.Context, ui packer.Ui, hook packer.Hook) (pack
|
||||||
},
|
},
|
||||||
&communicator.StepConnect{
|
&communicator.StepConnect{
|
||||||
Config: &b.config.Comm,
|
Config: &b.config.Comm,
|
||||||
Host: getVMIP,
|
Host: commHost(b.config.Comm.SSHHost),
|
||||||
SSHConfig: b.config.Comm.SSHConfigFunc(),
|
SSHConfig: b.config.Comm.SSHConfigFunc(),
|
||||||
},
|
},
|
||||||
&common.StepProvision{},
|
&common.StepProvision{},
|
||||||
|
@ -98,6 +98,18 @@ func (b *Builder) Run(ctx context.Context, ui packer.Ui, hook packer.Hook) (pack
|
||||||
return artifact, nil
|
return artifact, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Returns ssh_host config parameter when set, otherwise gets the host IP from running VM
|
||||||
|
func commHost(sshHost string) func(state multistep.StateBag) (string, error) {
|
||||||
|
if sshHost != "" {
|
||||||
|
return func(state multistep.StateBag) (string, error) {
|
||||||
|
return sshHost, nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return getVMIP
|
||||||
|
}
|
||||||
|
|
||||||
|
// Reads the first non-loopback interface's IP address from the VM.
|
||||||
|
// qemu-guest-agent package must be installed on the VM
|
||||||
func getVMIP(state multistep.StateBag) (string, error) {
|
func getVMIP(state multistep.StateBag) (string, error) {
|
||||||
c := state.Get("proxmoxClient").(*proxmox.Client)
|
c := state.Get("proxmoxClient").(*proxmox.Client)
|
||||||
vmRef := state.Get("vmRef").(*proxmox.VmRef)
|
vmRef := state.Get("vmRef").(*proxmox.VmRef)
|
||||||
|
|
Loading…
Reference in New Issue