diff options
| author | Paul Berry <paul@puppetlabs.com> | 2010-12-29 14:49:16 -0800 |
|---|---|---|
| committer | Paul Berry <paul@puppetlabs.com> | 2010-12-30 11:53:05 -0800 |
| commit | 037eac4383ed5a5e9cdde765b607a180209bad1e (patch) | |
| tree | 9c48d7656ab9ba36f9b2110c2b84284d6e997ee7 /lib/puppet | |
| parent | e4a2e049dc9f77569a2dac042e9e847ef34f037d (diff) | |
| download | puppet-037eac4383ed5a5e9cdde765b607a180209bad1e.tar.gz puppet-037eac4383ed5a5e9cdde765b607a180209bad1e.tar.xz puppet-037eac4383ed5a5e9cdde765b607a180209bad1e.zip | |
(#5715) Add status attribute to reports.
Diffstat (limited to 'lib/puppet')
| -rw-r--r-- | lib/puppet/transaction/report.rb | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/lib/puppet/transaction/report.rb b/lib/puppet/transaction/report.rb index f78b5aa21..6315973ba 100644 --- a/lib/puppet/transaction/report.rb +++ b/lib/puppet/transaction/report.rb @@ -11,7 +11,7 @@ class Puppet::Transaction::Report indirects :report, :terminus_class => :processor attr_accessor :configuration_version - attr_reader :resource_statuses, :logs, :metrics, :host, :time, :kind + attr_reader :resource_statuses, :logs, :metrics, :host, :time, :kind, :status # This is necessary since Marshall doesn't know how to # dump hash with default proc (see below @records) @@ -43,11 +43,23 @@ class Puppet::Transaction::Report @resource_statuses[status.resource] = status end + def compute_status(resource_metrics, change_metric) + if (resource_metrics[:failed] || 0) > 0 + 'failed' + elsif change_metric > 0 + 'changed' + else + 'unchanged' + end + end + def finalize_report - add_metric(:resources, calculate_resource_metrics) + resource_metrics = add_metric(:resources, calculate_resource_metrics) add_metric(:time, calculate_time_metrics) - add_metric(:changes, {:total => calculate_change_metric}) + change_metric = calculate_change_metric + add_metric(:changes, {:total => change_metric}) add_metric(:events, calculate_event_metrics) + @status = compute_status(resource_metrics, change_metric) end def initialize(kind, configuration_version=nil) @@ -61,6 +73,7 @@ class Puppet::Transaction::Report @report_format = 2 @puppet_version = Puppet.version @configuration_version = configuration_version + @status = 'failed' # assume failed until the report is finalized end def name |
