diff --git a/builder/vagrant/driver_2_2.go b/builder/vagrant/driver_2_2.go index f6f72e05a..b7a22ad2d 100644 --- a/builder/vagrant/driver_2_2.go +++ b/builder/vagrant/driver_2_2.go @@ -199,7 +199,11 @@ func (d *Vagrant_2_2_Driver) vagrantCmd(args ...string) (string, string, error) cmd.Stdout = &stdout cmd.Stderr = &stderr - cmd.Start() + err := cmd.Start() + if err != nil { + return "", "", fmt.Errorf("Error starting vagrant command with args: %q", + strings.Join(args, " ")) + } stdoutString := "" stderrString := "" @@ -238,7 +242,7 @@ func (d *Vagrant_2_2_Driver) vagrantCmd(args ...string) (string, string, error) } }() - err := cmd.Wait() + err = cmd.Wait() donech <- true diff --git a/builder/vagrant/step_ssh_config.go b/builder/vagrant/step_ssh_config.go index d28f10fe4..3cf4c1817 100644 --- a/builder/vagrant/step_ssh_config.go +++ b/builder/vagrant/step_ssh_config.go @@ -2,6 +2,7 @@ package vagrant import ( "context" + "log" "strconv" "github.com/hashicorp/packer/helper/multistep" @@ -53,6 +54,12 @@ func (s *StepSSHConfig) Run(ctx context.Context, state multistep.StateBag) multi // auth provided there. return multistep.ActionContinue } + log.Printf("identity file is %s", sshConfig.IdentityFile) + log.Printf("Removing quotes from identity file") + sshConfig.IdentityFile, err = strconv.Unquote(sshConfig.IdentityFile) + if err != nil { + log.Printf("Error unquoting identity file: %s", err) + } config.Comm.SSHPrivateKeyFile = sshConfig.IdentityFile config.Comm.SSHUsername = sshConfig.User