From a739623d9b3232acd1a6e46642a3caefe8652d6b Mon Sep 17 00:00:00 2001 From: Megan Marsh Date: Thu, 9 Nov 2017 14:44:26 -0800 Subject: [PATCH] don't pipe restarted stuff through the ui --- provisioner/windows-restart/provisioner.go | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/provisioner/windows-restart/provisioner.go b/provisioner/windows-restart/provisioner.go index 48a3cb50a..cd261da56 100644 --- a/provisioner/windows-restart/provisioner.go +++ b/provisioner/windows-restart/provisioner.go @@ -3,7 +3,7 @@ package restart import ( "bytes" "fmt" - "io" + "log" "strings" "sync" @@ -201,13 +201,18 @@ var waitForCommunicator = func(p *Provisioner) error { } // this is the non-user-configurable check that powershell // modules have loaded - cmdModuleLoad := &packer.RemoteCmd{Command: DefaultRestartCheckCommand} - var buf, buf2 bytes.Buffer - cmdModuleLoad.Stdout = &buf - cmdModuleLoad.Stdout = io.MultiWriter(cmdModuleLoad.Stdout, &buf2) - - cmdModuleLoad.StartWithUi(p.comm, p.ui) - stdoutToRead := buf2.String() + var buf bytes.Buffer + cmdModuleLoad := &packer.RemoteCmd{ + Command: DefaultRestartCheckCommand, + Stdin: nil, + Stdout: &buf, + Stderr: &buf} + + // cmdModuleLoad.StartWithUi(p.comm, p.ui) + p.comm.Start(cmdModuleLoad) + cmdModuleLoad.Wait() + + stdoutToRead := buf.String() if !strings.Contains(stdoutToRead, "restarted.") { log.Printf("echo didn't succeed; retrying...") continue