diff options
author | Markus Roberts <Markus@reality.com> | 2010-01-02 10:09:51 -0800 |
---|---|---|
committer | James Turnbull <james@lovedthanlost.net> | 2010-01-05 02:41:03 +1100 |
commit | e7d98ccbc0021bace65dd8525e730462947e5049 (patch) | |
tree | a51aea6cffe6985a29ff811a3f33d089e2786ba1 | |
parent | 87136b4eb911f61bf85a5b315f6df79c51f50713 (diff) | |
download | puppet-e7d98ccbc0021bace65dd8525e730462947e5049.tar.gz puppet-e7d98ccbc0021bace65dd8525e730462947e5049.tar.xz puppet-e7d98ccbc0021bace65dd8525e730462947e5049.zip |
Fix for #2999 (absent package handling on solaris)
The fix for #2940 resulted in a behavior change that could be seen as a
bug. This was consistent with many of the other providers (see #3000)
but was not the desired behavior.
This patch enhances the patch for #2940 to return {:ensure => :absent} as
the present state in the case that the failure was due to the package not
being installed (as opposed to a source/index failure, etc.). The other
possibility would have been {:ensure => :purged}.
-rwxr-xr-x | lib/puppet/provider/package/sun.rb | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/lib/puppet/provider/package/sun.rb b/lib/puppet/provider/package/sun.rb index cd511b1af..4f8b311ab 100755 --- a/lib/puppet/provider/package/sun.rb +++ b/lib/puppet/provider/package/sun.rb @@ -112,6 +112,7 @@ Puppet::Type.type(:package).provide :sun, :parent => Puppet::Provider::Package d } return hash rescue Puppet::ExecutionFailure => detail + return {:ensure => :absent} if detail.message =~ /information for "#{Regexp.escape(@resource[:name])}" was not found/ puts detail.backtrace if Puppet[:trace] raise Puppet::Error, "Unable to get information about package #{@resource[:name]} because of: #{detail}" end |