Paired-with: Jesse Wolfe <[email protected]>
Signed-off-by: Paul Berry <[email protected]>
---
Local-branch: ticket/next/5743
...10106002514_add_skipped_to_resource_statuses.rb | 9 +++++++++
db/schema.rb | 3 ++-
lib/puppet/report.rb | 5 +++--
lib/report_transformer.rb | 1 +
spec/lib/puppet/report_spec.rb | 9 +++++++++
spec/lib/report_transformer_spec.rb | 7 +++++++
6 files changed, 31 insertions(+), 3 deletions(-)
create mode 100644
db/migrate/20110106002514_add_skipped_to_resource_statuses.rb
diff --git a/db/migrate/20110106002514_add_skipped_to_resource_statuses.rb
b/db/migrate/20110106002514_add_skipped_to_resource_statuses.rb
new file mode 100644
index 0000000..5131f09
--- /dev/null
+++ b/db/migrate/20110106002514_add_skipped_to_resource_statuses.rb
@@ -0,0 +1,9 @@
+class AddSkippedToResourceStatuses < ActiveRecord::Migration
+ def self.up
+ add_column :resource_statuses, :skipped, :boolean
+ end
+
+ def self.down
+ remove_column :resource_statuses, :skipped
+ end
+end
diff --git a/db/schema.rb b/db/schema.rb
index 8e0f2a6..67b40f7 100644
--- a/db/schema.rb
+++ b/db/schema.rb
@@ -9,7 +9,7 @@
#
# It's strongly recommended to check this file into your version control
system.
-ActiveRecord::Schema.define(:version => 20110105234202) do
+ActiveRecord::Schema.define(:version => 20110106002514) do
create_table "assignments", :force => true do |t|
t.integer "node_id"
@@ -152,6 +152,7 @@ ActiveRecord::Schema.define(:version => 20110105234202) do
t.integer "change_count"
t.boolean "out_of_sync"
t.integer "out_of_sync_count"
+ t.boolean "skipped"
end
add_index "resource_statuses", ["report_id"], :name =>
"index_resource_statuses_on_report_id"
diff --git a/lib/puppet/report.rb b/lib/puppet/report.rb
index 5ca7932..2182168 100644
--- a/lib/puppet/report.rb
+++ b/lib/puppet/report.rb
@@ -88,7 +88,7 @@ module Puppet #:nodoc:
class Status
attr_reader :evaluation_time, :resource, :tags,
:file, :events, :time, :line, :changed, :change_count,
- :out_of_sync
+ :out_of_sync, :skipped
def to_hash
{
@@ -99,7 +99,8 @@ module Puppet #:nodoc:
"time" => time,
"change_count" => change_count || 0,
"out_of_sync" => out_of_sync,
- "events" => events.map(&:to_hash)
+ "events" => events.map(&:to_hash),
+ "skipped" => skipped
}
end
end
diff --git a/lib/report_transformer.rb b/lib/report_transformer.rb
index 72c5d17..3c535f2 100644
--- a/lib/report_transformer.rb
+++ b/lib/report_transformer.rb
@@ -70,6 +70,7 @@ class ReportTransformer::OneToTwo <
ReportTransformer::ReportTransformation
report["resource_statuses"].each do |key, resource_status|
key =~ /^(.+?)\[(.+)\]$/
resource_status["resource_type"], resource_status["title"] = $1, $2
+ resource_status["skipped"] ||= false # ensure that we represent
falsehood as "false", not "nil"
resource_status["out_of_sync_count"] = resource_status["change_count"]
resource_status["events"].each do |event|
event["audited"] = event["status"] == "audit"
diff --git a/spec/lib/puppet/report_spec.rb b/spec/lib/puppet/report_spec.rb
index ccb98ff..21996d6 100644
--- a/spec/lib/puppet/report_spec.rb
+++ b/spec/lib/puppet/report_spec.rb
@@ -207,6 +207,7 @@ describe Puppet::Transaction::Report do
resource_statuses = hash["resource_statuses"]
resource_statuses.should == {
"Schedule[monthly]" => {
+ "skipped" => nil,
"line" => nil,
"change_count" => 0,
"time" => Time.parse("2010-07-22 12:19:47.260865
-07:00"),
@@ -221,6 +222,7 @@ describe Puppet::Transaction::Report do
"version" => 1279826342
},
"Filebucket[puppet]" => {
+ "skipped" => nil,
"line" => nil,
"change_count" => 0,
"time" => Time.parse("2010-07-22 12:19:47.365218
-07:00"),
@@ -235,6 +237,7 @@ describe Puppet::Transaction::Report do
"version" => 1279826342
},
"Service[mysqld]" => {
+ "skipped" => nil,
"line" => 8,
"change_count" => 1,
"time" => Time.parse("2010-07-22 12:19:47.367360
-07:00"),
@@ -260,6 +263,7 @@ describe Puppet::Transaction::Report do
"version" => 1279826342
},
"Schedule[never]" => {
+ "skipped" => nil,
"line" => nil,
"change_count" => 0,
"time" => Time.parse("2010-07-22 12:19:47.365927
-07:00"),
@@ -274,6 +278,7 @@ describe Puppet::Transaction::Report do
"version" => 1279826342
},
"Schedule[weekly]" => {
+ "skipped" => nil,
"line" => nil,
"change_count" => 0,
"time" => Time.parse("2010-07-22 12:19:47.364377
-07:00"),
@@ -288,6 +293,7 @@ describe Puppet::Transaction::Report do
"version" => 1279826342
},
"Exec[/bin/true]" => {
+ "skipped" => nil,
"line" => 9,
"change_count" => 1,
"time" => Time.parse("2010-07-22 12:19:47.262652
-07:00"),
@@ -312,6 +318,7 @@ describe Puppet::Transaction::Report do
"version" => 1279826342
},
"Schedule[puppet]" => {
+ "skipped" => nil,
"line" => nil,
"change_count" => 0,
"time" => Time.parse("2010-07-22 12:19:48.923135
-07:00"),
@@ -326,6 +333,7 @@ describe Puppet::Transaction::Report do
"version" => 1279826342
},
"Schedule[daily]" => {
+ "skipped" => nil,
"line" => nil,
"change_count" => 0,
"time" => Time.parse("2010-07-22 12:19:47.366606
-07:00"),
@@ -340,6 +348,7 @@ describe Puppet::Transaction::Report do
"version" => 1279826342
},
"Schedule[hourly]" => {
+ "skipped" => nil,
"line" => nil,
"change_count" => 0,
"time" => Time.parse("2010-07-22 12:19:47.261846
-07:00"),
diff --git a/spec/lib/report_transformer_spec.rb
b/spec/lib/report_transformer_spec.rb
index fd036a0..01d5c3e 100644
--- a/spec/lib/report_transformer_spec.rb
+++ b/spec/lib/report_transformer_spec.rb
@@ -215,5 +215,12 @@ describe ReportTransformer do
report["metrics"].should == {}
report["status"].should == 'failed'
end
+
+ it "should set skipped to false on any resources that weren't skipped" do
+ report = ReportTransformer::OneToTwo.apply(@report)
+ report["resource_statuses"].values.each do |resource_status|
+ resource_status["skipped"].should == false
+ end
+ end
end
end
--
1.7.2
--
You received this message because you are subscribed to the Google Groups
"Puppet Developers" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/puppet-dev?hl=en.