mirror of
https://github.com/hashicorp/packer.git
synced 2026-09-20 15:01:40 -04:00
builder/vmware: Create WaitForIP step
This commit is contained in:
@@ -22,6 +22,8 @@ type config struct {
|
||||
HTTPDir string `mapstructure:"http_directory"`
|
||||
BootCommand []string `mapstructure:"boot_command"`
|
||||
BootWait uint `mapstructure:"boot_wait"`
|
||||
SSHUser string `mapstructure:"ssh_user"`
|
||||
SSHPassword string `mapstructure:"ssh_password"`
|
||||
}
|
||||
|
||||
func (b *Builder) Prepare(raw interface{}) (err error) {
|
||||
@@ -53,6 +55,7 @@ func (b *Builder) Run(ui packer.Ui, hook packer.Hook) packer.Artifact {
|
||||
&stepHTTPServer{},
|
||||
&stepRun{},
|
||||
&stepTypeBootCommand{},
|
||||
&stepWaitForIP{},
|
||||
}
|
||||
|
||||
// Setup the state bag
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
package vmware
|
||||
|
||||
import (
|
||||
"github.com/mitchellh/multistep"
|
||||
"github.com/mitchellh/packer/packer"
|
||||
)
|
||||
|
||||
// This step creates the virtual disks for the VM.
|
||||
//
|
||||
// Uses:
|
||||
// config *config
|
||||
// ui packer.Ui
|
||||
//
|
||||
// Produces:
|
||||
// <nothing>
|
||||
type stepWaitForIP struct{}
|
||||
|
||||
func (stepWaitForIP) Run(state map[string]interface{}) multistep.StepAction {
|
||||
ui := state["ui"].(packer.Ui)
|
||||
|
||||
ui.Say("Waiting for SSH to become available...")
|
||||
select{}
|
||||
|
||||
return multistep.ActionContinue
|
||||
}
|
||||
|
||||
func (stepWaitForIP) Cleanup(map[string]interface{}) {}
|
||||
Reference in New Issue
Block a user