[augeas-devel] Issue using Simplevars lense for custom config management

Trey Dockendorf treydock at gmail.com
Mon Nov 23 21:47:34 UTC 2015


I'm attempting to use the Simplevars.lns, but renamed to BeeGFS_config.lns
and distributed with my Puppet module since Simplevars in EL6 lacks empty
value support.  Right now I'm hitting an error that unsure how to resolve.

The output is from docker acceptance tests with debug enabled in Puppet:

  Debug: Augeas[beegfs-client.conf](provider=augeas): sending command 'set'
with params ["/files/etc/beegfs/beegfs-client.conf/sysMgmtdHost",
"172.17.0.64"]
<snip>
Debug: Augeas[beegfs-client.conf](provider=augeas): Put failed on one or
more files, output from /augeas//error:
  Debug: Augeas[beegfs-client.conf](provider=augeas):
/augeas/files/etc/beegfs/beegfs-client.conf/error = put_failed
  Debug: Augeas[beegfs-client.conf](provider=augeas):
/augeas/files/etc/beegfs/beegfs-client.conf/error/path =
/files/etc/beegfs/beegfs-client.conf/sysMgmtdHost
  Debug: Augeas[beegfs-client.conf](provider=augeas):
/augeas/files/etc/beegfs/beegfs-client.conf/error/lens =
/var/lib/puppet/lib/augeas/lenses/beegfs_config.aug:33.45-.53:
  Debug: Augeas[beegfs-client.conf](provider=augeas):
/augeas/files/etc/beegfs/beegfs-client.conf/error/message = Value
'172.17.0.64' does not match regexp // in store lens

The lense I'm using is attached as is the test file that works.  The value
of sysMgmtdHost is empty before a value is added.

I can reproduce this using augtool:

$ augtool --noautoload -I lib/augeas/lenses
augtool> set /augeas/load/test/lens "BeeGFS_config.lns"
augtool> set /augeas/load/test/incl
/Users/treydock/puppet/modules/beegfs/templates/beegfs-client.conf
augtool> load
augtool> set
/files/Users/treydock/puppet/modules/beegfs/templates/beegfs-client.conf/sysMgmtdHost
192.168.1.1
augtool> save
error: Failed to execute command
saving failed (run 'print /augeas//error' for details)
augtool> print /augeas//error
/augeas/files/Users/treydock/puppet/modules/beegfs/templates/beegfs-client.conf/error
= "put_failed"
/augeas/files/Users/treydock/puppet/modules/beegfs/templates/beegfs-client.conf/error/path
=
"/files/Users/treydock/puppet/modules/beegfs/templates/beegfs-client.conf/sysMgmtdHost"
/augeas/files/Users/treydock/puppet/modules/beegfs/templates/beegfs-client.conf/error/lens
= "lib/augeas/lenses/beegfs_config.aug:33.45-.53:"
/augeas/files/Users/treydock/puppet/modules/beegfs/templates/beegfs-client.conf/error/message
= "Value '192.168.1.1' does not match regexp // in store lens"

The Simplevars lense seemed closest to what I needed, but maybe a
completely custom lense is better?  The values in the configs are just in
form of "config = value" and comments use #.

Thanks,
- Trey
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/augeas-devel/attachments/20151123/14ea93eb/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: beegfs_config.aug
Type: application/octet-stream
Size: 1698 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/augeas-devel/attachments/20151123/14ea93eb/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: test_beegfs_config.aug
Type: application/octet-stream
Size: 1177 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/augeas-devel/attachments/20151123/14ea93eb/attachment-0001.obj>


More information about the augeas-devel mailing list