puppet apply not returning usable exit code.
|Affected Puppet version:||2.7.1||Branch:|
Puppet apply is never returning a usable exit code. This is partly because of warnings which appear to be treated as errors.
puppet apply (without —detailed-exitcodes) This returns false positives. It returns 0 even if there is an error running the manifest. It only appears to return an error code if there is a syntax error.
puppet apply —detailed-exitcodes This is not very usable because successful runs have non-zero returns (0 or 2). It is still not usable with a wrapper because some warnings are treated as errors. This means I am getting a 4 or 6 return code even on successful runs. The warning I am seeing is:
/usr/local/lib/ruby/gems/1.9.1/gems/puppet-2.7.1/lib/puppet/provider/service/freebsd.rb:8: warning: class variable access from toplevel /usr/local/lib/ruby/gems/1.9.1/gems/puppet-2.7.1/lib/puppet/provider/service/freebsd.rb:9: warning: class variable access from toplevel /usr/local/lib/ruby/gems/1.9.1/gems/puppet-2.7.1/lib/puppet/provider/service/freebsd.rb:10: warning: class variable access from toplevel /usr/local/lib/ruby/gems/1.9.1/gems/puppet-2.7.1/lib/puppet/provider/service/bsd.rb:11: warning: class variable access from toplevel