From b2d78339b00ffd338547adce57150a637b9e0403 Mon Sep 17 00:00:00 2001 From: Matthew Patton Date: Tue, 1 May 2018 17:04:40 -0400 Subject: [PATCH] add missing removeDir() to allow StagingDir clean-up post-run --- provisioner/puppet-server/provisioner.go | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/provisioner/puppet-server/provisioner.go b/provisioner/puppet-server/provisioner.go index dcb3836e9..9535684f0 100644 --- a/provisioner/puppet-server/provisioner.go +++ b/provisioner/puppet-server/provisioner.go @@ -320,6 +320,22 @@ func (p *Provisioner) createDir(ui packer.Ui, comm packer.Communicator, dir stri return nil } +func (p *Provisioner) removeDir(ui packer.Ui, comm packer.Communicator, dir string) error { + cmd := &packer.RemoteCmd{ + Command: fmt.Sprintf("rm -fr '%s'", dir), + } + + if err := cmd.StartWithUi(comm, ui); err != nil { + return err + } + + if cmd.ExitStatus != 0 { + return fmt.Errorf("Non-zero exit status.") + } + + return nil +} + func (p *Provisioner) uploadDirectory(ui packer.Ui, comm packer.Communicator, dst string, src string) error { if err := p.createDir(ui, comm, dst); err != nil { return err