Commit adfb6caa authored by Mitchell Hashimoto's avatar Mitchell Hashimoto

provisioner/salt-masterless: error if any commands exit with non-zero

[GH-266]

/cc @rgarcia
parent 91898ea8
...@@ -25,6 +25,8 @@ BUG FIXES: ...@@ -25,6 +25,8 @@ BUG FIXES:
using multiple environmental variables. [GH-263] using multiple environmental variables. [GH-263]
* provisioner/salt-masterless: states aren't deleted after the run * provisioner/salt-masterless: states aren't deleted after the run
anymore. [GH-265] anymore. [GH-265]
* provisioner/salt-masterless: error if any commands exit with a non-zero
exit status. [GH-266]
## 0.2.3 (August 7, 2013) ## 0.2.3 (August 7, 2013)
......
...@@ -99,7 +99,7 @@ func (p *Provisioner) Provision(ui packer.Ui, comm packer.Communicator) error { ...@@ -99,7 +99,7 @@ func (p *Provisioner) Provision(ui packer.Ui, comm packer.Communicator) error {
ui.Message(fmt.Sprintf("Creating remote directory: %s", p.config.TempConfigDir)) ui.Message(fmt.Sprintf("Creating remote directory: %s", p.config.TempConfigDir))
cmd := &packer.RemoteCmd{Command: fmt.Sprintf("mkdir -p %s", p.config.TempConfigDir)} cmd := &packer.RemoteCmd{Command: fmt.Sprintf("mkdir -p %s", p.config.TempConfigDir)}
if err = cmd.StartWithUi(comm, ui); err != nil { if err = cmd.StartWithUi(comm, ui); err != nil || cmd.ExitStatus != 0 {
return fmt.Errorf("Error creating remote salt state directory: %s", err) return fmt.Errorf("Error creating remote salt state directory: %s", err)
} }
...@@ -110,13 +110,13 @@ func (p *Provisioner) Provision(ui packer.Ui, comm packer.Communicator) error { ...@@ -110,13 +110,13 @@ func (p *Provisioner) Provision(ui packer.Ui, comm packer.Communicator) error {
ui.Message(fmt.Sprintf("Moving %s to /srv/salt", p.config.TempConfigDir)) 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)} cmd = &packer.RemoteCmd{Command: fmt.Sprintf("sudo mv %s /srv/salt", p.config.TempConfigDir)}
if err = cmd.StartWithUi(comm, ui); err != nil { if err = cmd.StartWithUi(comm, ui); err != nil || cmd.ExitStatus != 0 {
return fmt.Errorf("Unable to move %s to /srv/salt: %d", p.config.TempConfigDir, err) return fmt.Errorf("Unable to move %s to /srv/salt: %d", p.config.TempConfigDir, err)
} }
ui.Message("Running highstate") ui.Message("Running highstate")
cmd = &packer.RemoteCmd{Command: "sudo salt-call --local state.highstate -l info"} cmd = &packer.RemoteCmd{Command: "sudo salt-call --local state.highstate -l info"}
if err = cmd.StartWithUi(comm, ui); err != nil { if err = cmd.StartWithUi(comm, ui); err != nil || cmd.ExitStatus != 0 {
return fmt.Errorf("Error executing highstate: %s", err) return fmt.Errorf("Error executing highstate: %s", err)
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment