summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJay Mundrawala <jdmundrawala@gmail.com>2014-08-28 10:18:23 -0700
committerAdam Edwards <adamed@opscode.com>2014-08-29 14:42:52 -0700
commit929e604d0164cf36413c8e33e8575df9cba9f9cd (patch)
treefed55b1ef237dcc5e7e41248355755fc5c2f4789
parente0fd2e2b3ef771d16a2c20f3d0f54275b874281f (diff)
downloadchef-929e604d0164cf36413c8e33e8575df9cba9f9cd.tar.gz
Better logging for dsc scripts with multiple resources
-rw-r--r--lib/chef/provider/dsc_script.rb11
1 files changed, 8 insertions, 3 deletions
diff --git a/lib/chef/provider/dsc_script.rb b/lib/chef/provider/dsc_script.rb
index 4e488557e6..d296e09c23 100644
--- a/lib/chef/provider/dsc_script.rb
+++ b/lib/chef/provider/dsc_script.rb
@@ -133,9 +133,14 @@ class Chef
def generate_description
["converge DSC configuration '#{configuration_friendly_name}'"] +
@dsc_resources_info.map do |resource|
- # We ignore the last log message because it only contains the time it took, which looks weird
- cleaned_messages = resource.change_log[0..-2].map { |c| c.sub(/^#{Regexp.escape(resource.name)}/, '').strip }
- "converge DSC resource #{resource.name} by #{cleaned_messages.find_all{ |c| c != ''}.join("\n")}"
+ if resource.changes_state?
+ # We ignore the last log message because it only contains the time it took, which looks weird
+ cleaned_messages = resource.change_log[0..-2].map { |c| c.sub(/^#{Regexp.escape(resource.name)}/, '').strip }
+ "converge DSC resource #{resource.name} by #{cleaned_messages.find_all{ |c| c != ''}.join("\n")}"
+ else
+ # This is needed because a dsc script can have resouces that are both converged and not
+ "converge DSC resource #{resource.name} by doing nothing because it is already converged"
+ end
end
end
end