replace duplicate commHost functions with a single communicator helper that checks for ssh_host and does a statebag lookup for a given key
This commit is contained in:
parent
0cfe8e7070
commit
c03c3f4410
|
@ -77,7 +77,7 @@ func (b *Builder) Run(ctx context.Context, ui packer.Ui, hook packer.Hook) (pack
|
||||||
&stepSetupNetworking{},
|
&stepSetupNetworking{},
|
||||||
&communicator.StepConnect{
|
&communicator.StepConnect{
|
||||||
Config: &b.config.Comm,
|
Config: &b.config.Comm,
|
||||||
Host: commHost(b.config.Comm.SSHHost),
|
Host: communicator.CommHost(b.config.Comm.SSHHost, "ipaddress"),
|
||||||
SSHConfig: b.config.Comm.SSHConfigFunc(),
|
SSHConfig: b.config.Comm.SSHConfigFunc(),
|
||||||
SSHPort: commPort,
|
SSHPort: commPort,
|
||||||
WinRMPort: commPort,
|
WinRMPort: commPort,
|
||||||
|
|
|
@ -7,21 +7,6 @@ import (
|
||||||
"github.com/hashicorp/packer/helper/multistep"
|
"github.com/hashicorp/packer/helper/multistep"
|
||||||
)
|
)
|
||||||
|
|
||||||
func commHost(host string) func(multistep.StateBag) (string, error) {
|
|
||||||
return func(state multistep.StateBag) (string, error) {
|
|
||||||
if host != "" {
|
|
||||||
log.Printf("Using ssh_host value: %s", host)
|
|
||||||
return host, nil
|
|
||||||
}
|
|
||||||
ip, hasIP := state.Get("ipaddress").(string)
|
|
||||||
if !hasIP {
|
|
||||||
return "", fmt.Errorf("Failed to retrieve IP address")
|
|
||||||
}
|
|
||||||
|
|
||||||
return ip, nil
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func commPort(state multistep.StateBag) (int, error) {
|
func commPort(state multistep.StateBag) (int, error) {
|
||||||
commPort, hasPort := state.Get("commPort").(int)
|
commPort, hasPort := state.Get("commPort").(int)
|
||||||
if !hasPort {
|
if !hasPort {
|
||||||
|
|
|
@ -86,7 +86,7 @@ func (b *Builder) Run(ctx context.Context, ui packer.Ui, hook packer.Hook) (pack
|
||||||
new(stepDropletInfo),
|
new(stepDropletInfo),
|
||||||
&communicator.StepConnect{
|
&communicator.StepConnect{
|
||||||
Config: &b.config.Comm,
|
Config: &b.config.Comm,
|
||||||
Host: commHost(b.config.Comm.SSHHost),
|
Host: communicator.CommHost(b.config.Comm.SSHHost, "droplet_ip"),
|
||||||
SSHConfig: b.config.Comm.SSHConfigFunc(),
|
SSHConfig: b.config.Comm.SSHConfigFunc(),
|
||||||
},
|
},
|
||||||
new(common.StepProvision),
|
new(common.StepProvision),
|
||||||
|
|
|
@ -1,18 +0,0 @@
|
||||||
package digitalocean
|
|
||||||
|
|
||||||
import (
|
|
||||||
"log"
|
|
||||||
|
|
||||||
"github.com/hashicorp/packer/helper/multistep"
|
|
||||||
)
|
|
||||||
|
|
||||||
func commHost(host string) func(multistep.StateBag) (string, error) {
|
|
||||||
return func(state multistep.StateBag) (string, error) {
|
|
||||||
if host != "" {
|
|
||||||
log.Printf("Using ssh_host value: %s", host)
|
|
||||||
return host, nil
|
|
||||||
}
|
|
||||||
ipAddress := state.Get("droplet_ip").(string)
|
|
||||||
return ipAddress, nil
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -67,7 +67,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: commHost(b.config.Comm.SSHHost),
|
Host: communicator.CommHost(b.config.Comm.SSHHost, "instance_ip"),
|
||||||
SSHConfig: b.config.Comm.SSHConfigFunc(),
|
SSHConfig: b.config.Comm.SSHConfigFunc(),
|
||||||
WinRMConfig: winrmConfig,
|
WinRMConfig: winrmConfig,
|
||||||
},
|
},
|
||||||
|
|
|
@ -1,18 +0,0 @@
|
||||||
package googlecompute
|
|
||||||
|
|
||||||
import (
|
|
||||||
"log"
|
|
||||||
|
|
||||||
"github.com/hashicorp/packer/helper/multistep"
|
|
||||||
)
|
|
||||||
|
|
||||||
func commHost(host string) func(multistep.StateBag) (string, error) {
|
|
||||||
return func(state multistep.StateBag) (string, error) {
|
|
||||||
if host != "" {
|
|
||||||
log.Printf("Using ssh_host value: %s", host)
|
|
||||||
return host, nil
|
|
||||||
}
|
|
||||||
ipAddress := state.Get("instance_ip").(string)
|
|
||||||
return ipAddress, nil
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -44,7 +44,7 @@ func (b *Builder) Run(ctx context.Context, ui packer.Ui, hook packer.Hook) (pack
|
||||||
new(stepCreateServer),
|
new(stepCreateServer),
|
||||||
&communicator.StepConnect{
|
&communicator.StepConnect{
|
||||||
Config: &b.config.Comm,
|
Config: &b.config.Comm,
|
||||||
Host: commHost(b.config.Comm.SSHHost),
|
Host: communicator.CommHost(b.config.Comm.SSHHost, "server_ip"),
|
||||||
SSHConfig: b.config.Comm.SSHConfigFunc(),
|
SSHConfig: b.config.Comm.SSHConfigFunc(),
|
||||||
},
|
},
|
||||||
&common.StepProvision{},
|
&common.StepProvision{},
|
||||||
|
|
|
@ -1,19 +0,0 @@
|
||||||
package oneandone
|
|
||||||
|
|
||||||
import (
|
|
||||||
"log"
|
|
||||||
|
|
||||||
"github.com/hashicorp/packer/helper/multistep"
|
|
||||||
)
|
|
||||||
|
|
||||||
func commHost(host string) func(multistep.StateBag) (string, error) {
|
|
||||||
return func(state multistep.StateBag) (string, error) {
|
|
||||||
if host != "" {
|
|
||||||
log.Printf("Using ssh_host value: %s", host)
|
|
||||||
return host, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
ipAddress := state.Get("server_ip").(string)
|
|
||||||
return ipAddress, nil
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -129,7 +129,7 @@ func (b *Builder) Run(ctx context.Context, ui packer.Ui, hook packer.Hook) (pack
|
||||||
KeyName: fmt.Sprintf("packer-generated-key_%s", runID),
|
KeyName: fmt.Sprintf("packer-generated-key_%s", runID),
|
||||||
StepConnectSSH: &communicator.StepConnectSSH{
|
StepConnectSSH: &communicator.StepConnectSSH{
|
||||||
Config: &b.config.BuilderComm,
|
Config: &b.config.BuilderComm,
|
||||||
Host: ocommon.CommHost(b.config.Comm.SSHHost),
|
Host: communicator.CommHost(b.config.Comm.SSHHost, "instance_ip"),
|
||||||
SSHConfig: b.config.BuilderComm.SSHConfigFunc(),
|
SSHConfig: b.config.BuilderComm.SSHConfigFunc(),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
|
@ -1,19 +0,0 @@
|
||||||
package common
|
|
||||||
|
|
||||||
import (
|
|
||||||
"log"
|
|
||||||
|
|
||||||
"github.com/hashicorp/packer/helper/multistep"
|
|
||||||
)
|
|
||||||
|
|
||||||
func CommHost(host string) func(multistep.StateBag) (string, error) {
|
|
||||||
return func(state multistep.StateBag) (string, error) {
|
|
||||||
if host != "" {
|
|
||||||
log.Printf("Using ssh_host value: %s", host)
|
|
||||||
return host, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
ipAddress := state.Get("instance_ip").(string)
|
|
||||||
return ipAddress, nil
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -65,7 +65,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: ocommon.CommHost(b.config.Comm.SSHHost),
|
Host: communicator.CommHost(b.config.Comm.SSHHost, "instance_ip"),
|
||||||
SSHConfig: b.config.Comm.SSHConfigFunc(),
|
SSHConfig: b.config.Comm.SSHConfigFunc(),
|
||||||
},
|
},
|
||||||
&common.StepProvision{},
|
&common.StepProvision{},
|
||||||
|
|
|
@ -41,7 +41,7 @@ func (b *Builder) Run(ctx context.Context, ui packer.Ui, hook packer.Hook) (pack
|
||||||
new(stepCreateServer),
|
new(stepCreateServer),
|
||||||
&communicator.StepConnect{
|
&communicator.StepConnect{
|
||||||
Config: &b.config.Comm,
|
Config: &b.config.Comm,
|
||||||
Host: commHost(b.config.Comm.SSHHost),
|
Host: communicator.CommHost(b.config.Comm.SSHHost, "server_ip"),
|
||||||
SSHConfig: b.config.Comm.SSHConfigFunc(),
|
SSHConfig: b.config.Comm.SSHConfigFunc(),
|
||||||
},
|
},
|
||||||
&common.StepProvision{},
|
&common.StepProvision{},
|
||||||
|
|
|
@ -1,19 +0,0 @@
|
||||||
package profitbricks
|
|
||||||
|
|
||||||
import (
|
|
||||||
"log"
|
|
||||||
|
|
||||||
"github.com/hashicorp/packer/helper/multistep"
|
|
||||||
)
|
|
||||||
|
|
||||||
func commHost(host string) func(multistep.StateBag) (string, error) {
|
|
||||||
return func(state multistep.StateBag) (string, error) {
|
|
||||||
if host != "" {
|
|
||||||
log.Printf("Using ssh_host value: %s", host)
|
|
||||||
return host, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
ipAddress := state.Get("server_ip").(string)
|
|
||||||
return ipAddress, nil
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -56,7 +56,7 @@ func (b *Builder) Run(ctx context.Context, ui packer.Ui, hook packer.Hook) (pack
|
||||||
new(stepServerInfo),
|
new(stepServerInfo),
|
||||||
&communicator.StepConnect{
|
&communicator.StepConnect{
|
||||||
Config: &b.config.Comm,
|
Config: &b.config.Comm,
|
||||||
Host: commHost(b.config.Comm.SSHHost),
|
Host: communicator.CommHost(b.config.Comm.SSHHost, "server_ip"),
|
||||||
SSHConfig: b.config.Comm.SSHConfigFunc(),
|
SSHConfig: b.config.Comm.SSHConfigFunc(),
|
||||||
},
|
},
|
||||||
new(common.StepProvision),
|
new(common.StepProvision),
|
||||||
|
|
|
@ -1,19 +0,0 @@
|
||||||
package scaleway
|
|
||||||
|
|
||||||
import (
|
|
||||||
"log"
|
|
||||||
|
|
||||||
"github.com/hashicorp/packer/helper/multistep"
|
|
||||||
)
|
|
||||||
|
|
||||||
func commHost(host string) func(multistep.StateBag) (string, error) {
|
|
||||||
return func(state multistep.StateBag) (string, error) {
|
|
||||||
if host != "" {
|
|
||||||
log.Printf("Using ssh_host value: %s", host)
|
|
||||||
return host, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
ipAddress := state.Get("server_ip").(string)
|
|
||||||
return ipAddress, nil
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -61,7 +61,7 @@ func (b *Builder) Run(ctx context.Context, ui packer.Ui, hook packer.Hook) (pack
|
||||||
&stepInstanceInfo{},
|
&stepInstanceInfo{},
|
||||||
&communicator.StepConnect{
|
&communicator.StepConnect{
|
||||||
Config: &b.config.Communicator,
|
Config: &b.config.Communicator,
|
||||||
Host: commHost(b.config.Communicator.SSHHost),
|
Host: communicator.CommHost(b.config.Communicator.SSHHost, "instance_ip"),
|
||||||
SSHConfig: b.config.Communicator.SSHConfigFunc(),
|
SSHConfig: b.config.Communicator.SSHConfigFunc(),
|
||||||
},
|
},
|
||||||
&common.StepProvision{},
|
&common.StepProvision{},
|
||||||
|
|
|
@ -1,19 +0,0 @@
|
||||||
package yandex
|
|
||||||
|
|
||||||
import (
|
|
||||||
"log"
|
|
||||||
|
|
||||||
"github.com/hashicorp/packer/helper/multistep"
|
|
||||||
)
|
|
||||||
|
|
||||||
func commHost(host string) func(multistep.StateBag) (string, error) {
|
|
||||||
return func(state multistep.StateBag) (string, error) {
|
|
||||||
if host != "" {
|
|
||||||
log.Printf("Using ssh_host value: %s", host)
|
|
||||||
return host, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
ipAddress := state.Get("instance_ip").(string)
|
|
||||||
return ipAddress, nil
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Reference in New Issue