On Mon, Nov 28, 2011 at 9:59 AM, Aaron Grewell <aaron.grew...@gmail.com>wrote:
> I'm not aware of any file editing method in Puppet that will modify > multiple files as part of the same resource. The usual approach would > be to create multiple resources, one for each file, and then cause > each resource to notify the postfix service to restart. Note that you can wrap these multiple resources in a single defined resource so that it "looks" like a single resource from the point of view of the person editing the manifest code. > Puppet's > smart enough to only restart it once. As far as setting up the files > the way you want them, if you need to edit the files in place Augeas > is your only built-in option. You can also do hacky things with exec > but it's not pleasant. Most folks don't edit in place, they replace > the file with known good contents. For that you can use templates or > something like puppet-concat (a third-party module that allows you to > build files from fragments). > > On Mon, Nov 28, 2011 at 6:17 AM, Graham Leggett <minf...@sharp.fm> wrote: > > On 27 Nov 2011, at 20:04, Graham Leggett wrote: > > > >> I have a task to convince puppet and augeas to modify multiple postfix > >> files, most specifically /etc/postfix/main.cf and /etc/postifx/ > >> acceptdomains.cf (and other LDAP related files), and I'm struggling to > >> find out how to do that. I have found examples on how to use augeas to > >> modify just one file at a time, but no information seems to be > >> available when multiple files are involved. > >> > >> I started with the config published here, and have no idea what to > >> change to convince puppet+augeas to edit both /etc/postfix/main.cf > >> and /etc/postfix/acceptdomains.cf at the same time: > >> > >> > https://github.com/camptocamp/puppet-postfix/blob/master/manifests/config.pp > >> > >> Does anyone have a sample configuration on how you would modify > >> multiple files at once, or have a clue on where to start? > > > > Answering my own question, I've discovered that augeas doesn't support > multiple files at all without a custom lens being created to support it. > > > > Or to declare it more accurately, augeas only knows about specific files > defined in specific locations, it has no concept of a general file in a > general location that you might want to apply a lens to. > > > > I eventually worked around the issue by making a custom lens copied from > the augeas postfix_main.aug lens that listed the extra ldap templates as > matching a wildcard, at this point augeas started working correctly. > > > > Something else I discovered is that augeas has no error handling of any > kind - if it doesn't recognise a file as matching one of the predetermined > locations built into the lens, it will silently ignore the file, and not > tell you why. > Do you get the same results with the command line 'augtool' Aaron? If not, please bug report that we need to fix this in the Puppet Augeas integration. -- Nigel Kersten Product Manager, Puppet Labs -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.