updated function calls to include buildname and changed variable names

This commit is contained in:
Levi 2018-07-02 20:42:21 -04:00
parent 68ec630fde
commit 6646d42490
1 changed files with 9 additions and 9 deletions

View File

@ -58,7 +58,7 @@ type Config struct {
UseSFTP bool `mapstructure:"use_sftp"` UseSFTP bool `mapstructure:"use_sftp"`
InventoryDirectory string `mapstructure:"inventory_directory"` InventoryDirectory string `mapstructure:"inventory_directory"`
InventoryFile string `mapstructure:"inventory_file"` InventoryFile string `mapstructure:"inventory_file"`
SetPackerPasswd bool `mapstructure:"set_packer_passwd"` SetWinrmPasswd bool `mapstructure:"set_winrm_passwd"`
} }
type Provisioner struct { type Provisioner struct {
@ -120,11 +120,6 @@ func (p *Provisioner) Prepare(raws ...interface{}) error {
p.config.AnsibleEnvVars = append(p.config.AnsibleEnvVars, "ANSIBLE_SCP_IF_SSH=True") p.config.AnsibleEnvVars = append(p.config.AnsibleEnvVars, "ANSIBLE_SCP_IF_SSH=True")
} }
if p.config.SetPackerPasswd {
var PackerEnvVar string = fmt.Sprintf("PACKER_RANDOM_PASSWORD=%s", getWinRMPassword())
p.config.AnsibleEnvVars = append(p.config.AnsibleEnvVars, PackerEnvVar)
}
if len(p.config.LocalPort) > 0 { if len(p.config.LocalPort) > 0 {
if _, err := strconv.ParseUint(p.config.LocalPort, 10, 16); err != nil { if _, err := strconv.ParseUint(p.config.LocalPort, 10, 16); err != nil {
errs = packer.MultiErrorAppend(errs, fmt.Errorf("local_port: %s must be a valid port", p.config.LocalPort)) errs = packer.MultiErrorAppend(errs, fmt.Errorf("local_port: %s must be a valid port", p.config.LocalPort))
@ -196,6 +191,12 @@ func (p *Provisioner) getVersion() error {
func (p *Provisioner) Provision(ui packer.Ui, comm packer.Communicator) error { func (p *Provisioner) Provision(ui packer.Ui, comm packer.Communicator) error {
ui.Say("Provisioning with Ansible...") ui.Say("Provisioning with Ansible...")
if p.config.SetWinrmPasswd {
var WinrmEnvVar string = fmt.Sprintf("GENERATED_WINRM_PASSWORD=%s", getWinRMPassword(p.config.PackerBuildName))
p.config.AnsibleEnvVars = append(p.config.AnsibleEnvVars, WinrmEnvVar)
ui.Say("Setting Environment variable GENERATED_WINRM_PASSWORD to WinRM password.")
}
k, err := newUserKey(p.config.SSHAuthorizedKeyFile) k, err := newUserKey(p.config.SSHAuthorizedKeyFile)
if err != nil { if err != nil {
return err return err
@ -515,10 +516,9 @@ func newSigner(privKeyFile string) (*signer, error) {
return signer, nil return signer, nil
} }
func getWinRMPassword() string { func getWinRMPassword(buildName string) string {
winRMPass, _ := commonhelper.RetrieveSharedState("winrm_password") winRMPass, _ := commonhelper.RetrieveSharedState("winrm_password", buildName)
return winRMPass return winRMPass
} }
// Ui provides concurrency-safe access to packer.Ui. // Ui provides concurrency-safe access to packer.Ui.