summaryrefslogtreecommitdiffstats
path: root/lib/puppet/application/inspect.rb
diff options
context:
space:
mode:
authorDaniel Pittman <daniel@puppetlabs.com>2011-02-18 19:10:57 -0800
committerDaniel Pittman <daniel@rimspace.net>2011-02-18 19:10:57 -0800
commitbca53bd4dcaf39a09f91c32ff56ef3b0a60dc85c (patch)
treed980bfeef4b9080f1fa0b6358534b2fab1d097dc /lib/puppet/application/inspect.rb
parent85e3174c060bc3bcde352872c83c7183b296b011 (diff)
parent04501976f898f886b81a67bdf0dabae1ba11571f (diff)
downloadpuppet-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/application/inspect.rb')
-rw-r--r--lib/puppet/application/inspect.rb116
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