summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNick Lewis <nick@puppetlabs.com>2011-04-08 12:17:10 -0700
committerNick Lewis <nick@puppetlabs.com>2011-04-08 12:17:10 -0700
commit9490cc9ecba28360c58173ec2eeb0dd1d3198960 (patch)
tree521ad3db4cdfd81b1f19a9e4b48f6260bf5f2168
parente17cc651a9625576aa79af428bbaec702e216ac8 (diff)
downloadpuppet-9490cc9ecba28360c58173ec2eeb0dd1d3198960.tar.gz
puppet-9490cc9ecba28360c58173ec2eeb0dd1d3198960.tar.xz
puppet-9490cc9ecba28360c58173ec2eeb0dd1d3198960.zip
(#7026) Remove whits from reports when finalizing
Resource statuses and metrics for Whits were being added to reports. Since they are transient internal data, they shouldn't be included in the report. This change adds a Puppet::Transaction::Report#prune_internal_data method, called by Puppet::Transaction::Report#finalize_report, providing a central place for this sort of pruning in the future. Paired-With: Max Martin
-rw-r--r--lib/puppet/transaction/report.rb6
-rwxr-xr-xspec/unit/transaction/report_spec.rb19
2 files changed, 25 insertions, 0 deletions
diff --git a/lib/puppet/transaction/report.rb b/lib/puppet/transaction/report.rb
index 16fee42ae..652b3874a 100644
--- a/lib/puppet/transaction/report.rb
+++ b/lib/puppet/transaction/report.rb
@@ -53,7 +53,13 @@ class Puppet::Transaction::Report
end
end
+ def prune_internal_data
+ resource_statuses.delete_if {|name,res| res.resource_type == 'Whit'}
+ end
+
def finalize_report
+ prune_internal_data
+
resource_metrics = add_metric(:resources, calculate_resource_metrics)
add_metric(:time, calculate_time_metrics)
change_metric = calculate_change_metric
diff --git a/spec/unit/transaction/report_spec.rb b/spec/unit/transaction/report_spec.rb
index a3bfe1e82..e7bfce401 100755
--- a/spec/unit/transaction/report_spec.rb
+++ b/spec/unit/transaction/report_spec.rb
@@ -5,6 +5,7 @@ require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
require 'puppet/transaction/report'
describe Puppet::Transaction::Report do
+ include PuppetSpec::Files
before do
Puppet::Util::Storage.stubs(:store)
end
@@ -38,6 +39,24 @@ describe Puppet::Transaction::Report do
report.configuration_version.should == "some version"
end
+ it "should not include whits" do
+ Puppet::FileBucket::File.indirection.stubs(:save)
+
+ filename = tmpfile('whit_test')
+ file = Puppet::Type.type(:file).new(:path => filename)
+
+ catalog = Puppet::Resource::Catalog.new
+ catalog.add_resource(file)
+
+ report = Puppet::Transaction::Report.new("apply")
+
+ catalog.apply(:report => report)
+ report.finalize_report
+
+ report.resource_statuses.values.any? {|res| res.resource_type =~ /whit/i}.should be_false
+ report.metrics['time'].values.any? {|metric| metric.first =~ /whit/i}.should be_false
+ end
+
describe "when accepting logs" do
before do
@report = Puppet::Transaction::Report.new("apply")