From 758618ecaa059d009716fd778795dd2484b86861 Mon Sep 17 00:00:00 2001 From: Francisco Lopez Date: Thu, 14 May 2015 15:05:44 -0700 Subject: [PATCH] Add ignore_exit_codes key for provisioner puppet-server --- provisioner/puppet-server/provisioner.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/provisioner/puppet-server/provisioner.go b/provisioner/puppet-server/provisioner.go index de21e0105..e451670d7 100644 --- a/provisioner/puppet-server/provisioner.go +++ b/provisioner/puppet-server/provisioner.go @@ -38,6 +38,10 @@ type Config struct { // The directory where files will be uploaded. Packer requires write // permissions in this directory. StagingDir string `mapstructure:"staging_dir"` + + // If true, packer will ignore all exit-codes from a puppet run + IgnoreExitCodes bool `mapstructure:"ignore_exit_codes"` + } type Provisioner struct { @@ -200,7 +204,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) }