summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorDaniel Pittman <daniel@rimspace.net>2011-08-12 06:23:00 -0700
committerDaniel Pittman <daniel@rimspace.net>2011-08-12 06:23:00 -0700
commit1ce2973e8af2300aff2b042257d8181855cf887d (patch)
tree86953fd295ada5664bf2243e15bf1fc928fb8330 /lib
parentfa1ec4dd93f015c2943271c9ae107991c6d3c90e (diff)
parent344aef91a3589ce3fcc4dfb00df16762ceef81d5 (diff)
downloadpuppet-1ce2973e8af2300aff2b042257d8181855cf887d.tar.gz
puppet-1ce2973e8af2300aff2b042257d8181855cf887d.tar.xz
puppet-1ce2973e8af2300aff2b042257d8181855cf887d.zip
Merge pull request #22 from domcleal/tickets/2.7.x/8808
(#8808) Fail Augeas resource when unable to save changes
Diffstat (limited to 'lib')
-rw-r--r--lib/puppet/provider/augeas/augeas.rb8
1 files changed, 5 insertions, 3 deletions
diff --git a/lib/puppet/provider/augeas/augeas.rb b/lib/puppet/provider/augeas/augeas.rb
index 95142568e..eb9c69ac8 100644
--- a/lib/puppet/provider/augeas/augeas.rb
+++ b/lib/puppet/provider/augeas/augeas.rb
@@ -290,8 +290,10 @@ Puppet::Type.type(:augeas).provide(:augeas) do
set_augeas_save_mode(SAVE_NEWFILE)
do_execute_changes
save_result = @aug.save
+ fail("Save failed with return code #{save_result}") unless save_result
+
saved_files = @aug.match("/augeas/events/saved")
- if save_result and saved_files.size > 0
+ if saved_files.size > 0
root = resource[:root].sub(/^\/$/, "")
saved_files.each do |key|
saved_file = @aug.get(key).to_s.sub(/^\/files/, root)
@@ -305,13 +307,13 @@ Puppet::Type.type(:augeas).provide(:augeas) do
debug("Files changed, should execute")
return_value = true
else
- debug("Skipping because no files were changed or save failed")
+ debug("Skipping because no files were changed")
return_value = false
end
end
end
ensure
- if not return_value or resource.noop?
+ if not return_value or resource.noop? or not save_result
close_augeas
end
end