Issue #2106 has been updated by micah. Status changed from Accepted to Rejected
This seems to be unrelated to puppet, but rather a problem with my local augeas install. I've built and installed 0.5.0 in a clean build environment and it works now. ---------------------------------------- Bug #2106: augeas provider is not applying http://projects.reductivelabs.com/issues/2106 Author: micah Status: Accepted Priority: High Assigned to: [email protected] Category: unknown Target version: Complexity: Unknown Affected version: 0.24.8 Keywords: I've got an augeas puppet definition for a new logrotate snippet, there currently is no /etc/logrotate.d/sympa, but I wish to create one with augeas. This works fine with augtool, however, puppet isn't applying it, nor am I seeing any info about why not. This is using puppet 0.24.8rc1. The puppet chunk is: <pre> augeas { "logrotate_sympa": context => "/files/etc/logrotate.d/sympa/rule", changes => [ "set file /var/log/sympa/*.log", "set rotate 3", "set schedule weekly", "set compress compress", "set missingok missingok", "set ifempty notifempty", "set copytruncate copytruncate" ] } </pre> Running puppet with debug tells me: <pre> debug: Augeas[logrotate_sympa](provider=augeas): Opening augeas with root /, lens path , flags 0 debug: Augeas[logrotate_sympa](provider=augeas): Augeas version 0.4.0 is installed debug: Augeas[logrotate_sympa](provider=augeas): Will attempt to save and only run if files changed debug: Augeas[logrotate_sympa](provider=augeas): sending command 'set' with params ["/files/etc/logrotate.d/sympa/rule/file", "/var/log/sympa/*.log"] debug: Augeas[logrotate_sympa](provider=augeas): sending command 'set' with params ["/files/etc/logrotate.d/sympa/rule/rotate", "3"] debug: Augeas[logrotate_sympa](provider=augeas): sending command 'set' with params ["/files/etc/logrotate.d/sympa/rule/schedule", "weekly"] debug: Augeas[logrotate_sympa](provider=augeas): sending command 'set' with params ["/files/etc/logrotate.d/sympa/rule/compress", "compress"] debug: Augeas[logrotate_sympa](provider=augeas): sending command 'set' with params ["/files/etc/logrotate.d/sympa/rule/missingok", "missingok"] debug: Augeas[logrotate_sympa](provider=augeas): sending command 'set' with params ["/files/etc/logrotate.d/sympa/rule/ifempty", "notifempty"] debug: Augeas[logrotate_sympa](provider=augeas): sending command 'set' with params ["/files/etc/logrotate.d/sympa/rule/copytruncate", "copytruncate"] debug: Augeas[logrotate_sympa](provider=augeas): Skipping becuase no files were changed </pre> > (1) Is the provider able to make simple changes to existing files (like > add an alias for localhost in /etc/hosts ? I try and add an alias for localhost in /etc/hosts, I did the following: <pre> augeas { "host foo": context => "/files/etc/hosts", changes => "set 1/alias foo"; } </pre> I tried it without the context as well: <pre> augeas { "host foo": changes => "set /files/etc/hosts/1/alias foo"; } </pre> Both of these resulted in no change, and this debug: <pre> debug: Augeas[host foo](provider=augeas): Opening augeas with root /, lens path , flags 0 debug: Augeas[host foo](provider=augeas): Augeas version 0.4.0 is installed debug: Augeas[host foo](provider=augeas): Will attempt to save and only run if files changed debug: Augeas[host foo](provider=augeas): sending command 'set' with params ["/files/etc/hosts/1/alias", "foo"] debug: Augeas[host foo](provider=augeas): Skipping becuase no files were changed debug: Augeas[host foo](provider=augeas): Closed the augeas connection </pre> It looks right, but it doesn't seem to change anything. Using augtool, I can make this change: <pre> augtool> set /files/etc/hosts/1/alias foo augtool> save augtool> quit # cat /etc/hosts 127.0.0.1 localhost foo </pre> > (2) make sure that /etc/logrotate.d exists and is writable. Augeas will > _not_ create missing directories, but it should create new files without > problems, assuming the user that is running Augeas is allowed to create > the file - watch out for SELinux. For puppet, the effective user is This is fine. > (3) Try the equivalent of your Augeas resource in augtool (you can write > augtool commands into a file and then run them with 'augtool < > commands.txt', I recommend doing that in a fake root in which you copy > the relevant files from /etc - use the -r option for augtool to point it > to that fake root. That should tell us if the problem is with the > provider or Augeas itself. This works fine: <pre> # ls /etc/logrotate.d/sympa ls: /etc/logrotate.d/sympa: No such file or directory # augtool augtool> set /files/etc/logrotate.d/sympa/rule/file /var/log/sympa/*.log augtool> save augtool> quit # cat /etc/logrotate.d/sympa /var/log/sympa/*.log { </pre> ---------------------------------------- You have received this notification because you have either subscribed to it, or are involved in it. To change your notification preferences, please click here: http://reductivelabs.com/redmine/my/account --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Puppet Bugs" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/puppet-bugs?hl=en -~----------~----~----~----~------~----~------~--~---
