summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJay Mundrawala <jdmundrawala@gmail.com>2014-08-28 10:18:23 -0700
committerJay Mundrawala <jdmundrawala@gmail.com>2014-09-19 12:47:35 -0700
commitfb433e2df1c9ddf1a3d31e37db4eade4f78b32f6 (patch)
tree83a89a454030456e0cfc11136285a4cf3d80eb8f
parent5b1fc434cce3c6af044d65d898827271cf16bebb (diff)
downloadchef-fb433e2df1c9ddf1a3d31e37db4eade4f78b32f6.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