diff options
| author | Dominic Cleal <dcleal@redhat.com> | 2011-08-06 17:46:20 +0100 |
|---|---|---|
| committer | Dominic Cleal <dcleal@redhat.com> | 2011-08-07 09:45:29 +0100 |
| commit | 9d09b077a33c1324d53f2725fcf61b529deafb4b (patch) | |
| tree | e553d3d34e58e69ccc3fbe1a5cec20574c542031 /lib/puppet/provider/augeas | |
| parent | 2b9b7c114e7c599f88be4f3be70f504add8072f8 (diff) | |
| download | puppet-9d09b077a33c1324d53f2725fcf61b529deafb4b.tar.gz puppet-9d09b077a33c1324d53f2725fcf61b529deafb4b.tar.xz puppet-9d09b077a33c1324d53f2725fcf61b529deafb4b.zip | |
(#8808) Fail Augeas resource when unable to save changes
Raise a failure when Augeas changes cannot be saved (due to invalid layout of
the tree, permissions etc). Fixes a regression.
Diffstat (limited to 'lib/puppet/provider/augeas')
| -rw-r--r-- | lib/puppet/provider/augeas/augeas.rb | 8 |
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 |
