[augeas-devel] Re: Augeas and Puppet
Bryan Kearney
bkearney at redhat.com
Fri Aug 1 11:13:23 UTC 2008
Kjetil Torgrim Homme wrote:
> Bryan Kearney <bkearney at redhat.com> writes:
>> I am going to work on getting this into the puppet common modules,
>> but if you are using puppet we have a module [1] which exposes
>> augeas to puppet. It accepts a set of changes as either a single
>> string, or an array of strings. It replaces using regular
>> expressions to edit files, or to put an entire file into puppet as a
>> template.
>
> can you give us an example or two?
You can see the my test script at [1]
However, it basically takes in raw augeas commands:
augeas {"somename":
changes: "set /mysqld/query_cache_limit 1048576"
}
You can create an array of strings to batch them together.
>
> it's with Puppet I want to use Augeas, and what I had envisioned is
> something like
>
> editfile { "/etc/my.cnf":
> lens => 'generic-ini,
> set => '/mysqld/query_cache_limit=1048576',
> rm => '/mysqld/log-slow-queries',
> }
>
> perhaps it needs to match augtool commands more closely to keep
> everyone sane.
>
> (I think the /system/config concept is a bit too ambitious for now,
> hence "generic-ini".)
>
> "lens" indicates the filename of the lens, ie. append ".aug" and look
> in the configured search path.
Why expose the lense if augeas matches that for you?
>
>> Any comments on this approach would be appreciated. The goal was to
>> allow a single puppet task to execute multiple changes as a single
>> unit of work. This is especially important if one change requires
>> adding several lines to a file.
>
> ordering of individual snippets can be handled using require and
> before.
>
> another example:
>
> editfile { "/etc/ssh/sshd_config":
> lens => 'sshd,
> match => '/sshd/AcceptEnv/*',
> rm => 'match',
> }
>
> here "match" is magic (notice no leading slash) and stands for all
> matching nodes.
How is this done in augtool today?
-- bk
[1]
http://git.et.redhat.com/?p=ace.git;a=blob;f=modules/augeas/test.pp
More information about the augeas-devel
mailing list