summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJay Mundrawala <jdmundrawala@gmail.com>2014-08-28 10:18:23 -0700
committeradamedx <adamed@getchef.com>2014-09-10 20:27:19 -0700
commite6df4bd17a168445f19f70dfeb020f15478a30f8 (patch)
treee128629e4d442412c58944ccb1c6c092075bf468
parent03b4af5d2b311b68350b2def3dd044014887d405 (diff)
downloadchef-e6df4bd17a168445f19f70dfeb020f15478a30f8.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