[augeas-devel] Testing help for new Augeas Puppet provider which only executes if required

Bryan Kearney bkearney at redhat.com
Wed Feb 18 18:07:11 UTC 2009


I apologize for the cross posting, but I would like to hit up folks to 
test and comment on a new version of the Augeas Puppet provider. You can 
get it at [1] which is a few day old version of the Puppet code. Added 
on top of this is a fix to [2] which states that the provider always 
executes, even if it does not need to.

Augeas version 0.3.6 added some changes which allow Augeas to be run in 
a noop mode, and report what "would" have happend to the file system. 
So, the new logic for the provider is

1 Check if the provider needs to run
2 Apply the filter. If it matches, continue. If not, return no.
3 if Augeas version 0.3.6 is installed
3.1 Load up the contents of the file
3.2 Make the changes in noop mode
3.3 If the files would have changed, return yes. if not, return no.

4 Execute the provider
5 if Augeas version 0.3.6 is installed
5.1 actually save the files.
6 If Augeas version 0.3.6 is not installed
6.1 Load up the contents of the file
6.2 Make the changes
6.3 Write the new files.

The issue is, will any changes made to the file by other types between 
steps 3.3 and 5.1 be lost, and will that cause issues? There may be 
other issues I have not thought of yet (perhaps a dependent type 
actually lays down a file).

Anyways.. comments on testing with the code would be greatly appreciated.

-- bk



[1] http://github.com/bkearney/puppet/tree/1826-0.24.x
[2] http://projects.reductivelabs.com/issues/1826




More information about the augeas-devel mailing list