diff options
author | Daniel Pittman <daniel@puppetlabs.com> | 2011-02-18 19:10:57 -0800 |
---|---|---|
committer | Daniel Pittman <daniel@rimspace.net> | 2011-02-18 19:10:57 -0800 |
commit | bca53bd4dcaf39a09f91c32ff56ef3b0a60dc85c (patch) | |
tree | d980bfeef4b9080f1fa0b6358534b2fab1d097dc /lib/puppet | |
parent | 85e3174c060bc3bcde352872c83c7183b296b011 (diff) | |
parent | 04501976f898f886b81a67bdf0dabae1ba11571f (diff) | |
download | puppet-bca53bd4dcaf39a09f91c32ff56ef3b0a60dc85c.tar.gz puppet-bca53bd4dcaf39a09f91c32ff56ef3b0a60dc85c.tar.xz puppet-bca53bd4dcaf39a09f91c32ff56ef3b0a60dc85c.zip |
Merge branch 'bug/2.6.x/6126-puppet-inspect-has-no-status-messages' into 2.6.x
Diffstat (limited to 'lib/puppet')
-rw-r--r-- | lib/puppet/application/inspect.rb | 116 |
1 files changed, 59 insertions, 57 deletions
diff --git a/lib/puppet/application/inspect.rb b/lib/puppet/application/inspect.rb index 52ef97530..764c8c4c0 100644 --- a/lib/puppet/application/inspect.rb +++ b/lib/puppet/application/inspect.rb @@ -98,79 +98,81 @@ Licensed under the GNU General Public License version 2 end def run_command - retrieval_starttime = Time.now + benchmark(:notice, "Finished inspection") do + retrieval_starttime = Time.now - unless catalog = Puppet::Resource::Catalog.find(Puppet[:certname]) - raise "Could not find catalog for #{Puppet[:certname]}" - end + unless catalog = Puppet::Resource::Catalog.find(Puppet[:certname]) + raise "Could not find catalog for #{Puppet[:certname]}" + end - @report.configuration_version = catalog.version + @report.configuration_version = catalog.version - inspect_starttime = Time.now - @report.add_times("config_retrieval", inspect_starttime - retrieval_starttime) + inspect_starttime = Time.now + @report.add_times("config_retrieval", inspect_starttime - retrieval_starttime) - if Puppet[:archive_files] - dipper = Puppet::FileBucket::Dipper.new(:Server => Puppet[:archive_file_server]) - end + if Puppet[:archive_files] + dipper = Puppet::FileBucket::Dipper.new(:Server => Puppet[:archive_file_server]) + end - catalog.to_ral.resources.each do |ral_resource| - audited_attributes = ral_resource[:audit] - next unless audited_attributes + catalog.to_ral.resources.each do |ral_resource| + audited_attributes = ral_resource[:audit] + next unless audited_attributes - status = Puppet::Resource::Status.new(ral_resource) + status = Puppet::Resource::Status.new(ral_resource) - begin - audited_resource = ral_resource.to_resource - rescue StandardError => detail - puts detail.backtrace if Puppet[:trace] - ral_resource.err "Could not inspect #{ral_resource}; skipping: #{detail}" - audited_attributes.each do |name| - event = ral_resource.event( - :property => name, - :status => "failure", - :audited => true, - :message => "failed to inspect #{name}" - ) - status.add_event(event) - end - else - audited_attributes.each do |name| - next if audited_resource[name].nil? - # Skip :absent properties of :absent resources. Really, it would be nicer if the RAL returned nil for those, but it doesn't. ~JW - if name == :ensure or audited_resource[:ensure] != :absent or audited_resource[name] != :absent + begin + audited_resource = ral_resource.to_resource + rescue StandardError => detail + puts detail.backtrace if Puppet[:trace] + ral_resource.err "Could not inspect #{ral_resource}; skipping: #{detail}" + audited_attributes.each do |name| event = ral_resource.event( - :previous_value => audited_resource[name], - :property => name, - :status => "audit", - :audited => true, - :message => "inspected value is #{audited_resource[name].inspect}" - ) + :property => name, + :status => "failure", + :audited => true, + :message => "failed to inspect #{name}" + ) status.add_event(event) end + else + audited_attributes.each do |name| + next if audited_resource[name].nil? + # Skip :absent properties of :absent resources. Really, it would be nicer if the RAL returned nil for those, but it doesn't. ~JW + if name == :ensure or audited_resource[:ensure] != :absent or audited_resource[name] != :absent + event = ral_resource.event( + :previous_value => audited_resource[name], + :property => name, + :status => "audit", + :audited => true, + :message => "inspected value is #{audited_resource[name].inspect}" + ) + status.add_event(event) + end + end end - end - if Puppet[:archive_files] and ral_resource.type == :file and audited_attributes.include?(:content) - path = ral_resource[:path] - if File.readable?(path) - begin - dipper.backup(path) - rescue StandardError => detail - Puppet.warning detail + if Puppet[:archive_files] and ral_resource.type == :file and audited_attributes.include?(:content) + path = ral_resource[:path] + if File.readable?(path) + begin + dipper.backup(path) + rescue StandardError => detail + Puppet.warning detail + end end end + @report.add_resource_status(status) end - @report.add_resource_status(status) - end - finishtime = Time.now - @report.add_times("inspect", finishtime - inspect_starttime) - @report.finalize_report + finishtime = Time.now + @report.add_times("inspect", finishtime - inspect_starttime) + @report.finalize_report - begin - @report.save - rescue => detail - puts detail.backtrace if Puppet[:trace] - Puppet.err "Could not send report: #{detail}" + begin + @report.save + rescue => detail + puts detail.backtrace if Puppet[:trace] + Puppet.err "Could not send report: #{detail}" + end end end end |