From f3811cb99d7c969ed9359940772e9f42845f7bf8 Mon Sep 17 00:00:00 2001 From: Keyan Pishdadian Date: Sun, 13 Mar 2016 23:39:18 -0400 Subject: [PATCH] Add ignore_exit_codes param for puppet-masterless provisioner --- provisioner/puppet-masterless/provisioner.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/provisioner/puppet-masterless/provisioner.go b/provisioner/puppet-masterless/provisioner.go index 7e2b6a0ef..ceff3edb3 100644 --- a/provisioner/puppet-masterless/provisioner.go +++ b/provisioner/puppet-masterless/provisioner.go @@ -54,6 +54,9 @@ type Config struct { // The directory from which the command will be executed. // Packer requires the directory to exist when running puppet. WorkingDir string `mapstructure:"working_directory"` + + // If true, packer will ignore all exit-codes from a puppet run + IgnoreExitCodes bool `mapstructure:"ignore_exit_codes"` } type Provisioner struct { @@ -242,7 +245,7 @@ func (p *Provisioner) Provision(ui packer.Ui, comm packer.Communicator) error { return err } - if cmd.ExitStatus != 0 && cmd.ExitStatus != 2 { + if cmd.ExitStatus != 0 && cmd.ExitStatus != 2 && !p.config.IgnoreExitCodes { return fmt.Errorf("Puppet exited with a non-zero exit status: %d", cmd.ExitStatus) }