From 4f58b204790209759d9f1972ecb5d63dd5625789 Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Mon, 12 Aug 2013 09:19:11 -0700 Subject: [PATCH] provisioner/salt-masterless: nice error even if bad exit status /cc @rgarcia --- provisioner/salt-masterless/provisioner.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/provisioner/salt-masterless/provisioner.go b/provisioner/salt-masterless/provisioner.go index 67bcc145d..3efc8f415 100644 --- a/provisioner/salt-masterless/provisioner.go +++ b/provisioner/salt-masterless/provisioner.go @@ -99,6 +99,10 @@ func (p *Provisioner) Provision(ui packer.Ui, comm packer.Communicator) error { ui.Message(fmt.Sprintf("Creating remote directory: %s", p.config.TempConfigDir)) cmd := &packer.RemoteCmd{Command: fmt.Sprintf("mkdir -p %s", p.config.TempConfigDir)} if err = cmd.StartWithUi(comm, ui); err != nil || cmd.ExitStatus != 0 { + if err == nil { + err = fmt.Errorf("Bad exit status: %d", cmd.ExitStatus) + } + return fmt.Errorf("Error creating remote salt state directory: %s", err) } @@ -110,12 +114,20 @@ func (p *Provisioner) Provision(ui packer.Ui, comm packer.Communicator) error { ui.Message(fmt.Sprintf("Moving %s to /srv/salt", p.config.TempConfigDir)) cmd = &packer.RemoteCmd{Command: fmt.Sprintf("sudo mv %s /srv/salt", p.config.TempConfigDir)} if err = cmd.StartWithUi(comm, ui); err != nil || cmd.ExitStatus != 0 { + if err == nil { + err = fmt.Errorf("Bad exit status: %d", cmd.ExitStatus) + } + return fmt.Errorf("Unable to move %s to /srv/salt: %d", p.config.TempConfigDir, err) } ui.Message("Running highstate") cmd = &packer.RemoteCmd{Command: "sudo salt-call --local state.highstate -l info"} if err = cmd.StartWithUi(comm, ui); err != nil || cmd.ExitStatus != 0 { + if err == nil { + err = fmt.Errorf("Bad exit status: %d", cmd.ExitStatus) + } + return fmt.Errorf("Error executing highstate: %s", err) }