[augeas-devel] exports lens and host-names
Sergio Ballestrero
sergio.ballestrero at cern.ch
Tue Dec 21 22:11:53 UTC 2010
Hello,
it looks like in the current augeas (v7.4) the "exports" lens fails to deal with hostnames containing dashes. If I look at the regular expression used, it seems correct (in /usr/share/augeas/lenses/dist/exports.aug):
let client_re = /[a-zA-Z0-9\-\.@\*\?\/]+/
so as an newbie in augeas lenses I'm not understanding where the problem may come from. Can someone point me at where to look?
I've extended the test_exports.aug in case it helps - see below.
Cheers, and thanks,
Sergio
PS besides few little hiccups, Augeas is a blessing! :-)
> cat test_exports.aug
module Test_exports =
let s = "/local 172.31.0.0/16(rw,sync) \t
/home 172.31.0.0/16(rw,root_squash,sync) @netgroup(rw) *.example.com
# Yes, we export /tmp
/tmp 172.31.0.0/16(rw,root_squash,sync)
/local2 somehost(rw,sync)
/local3 some-host(rw,sync)
/local3 another-host(rw,sync)
"
test Exports.lns get s =
{ "dir" = "/local"
{ "client" = "172.31.0.0/16"
{ "option" = "rw" }
{ "option" = "sync" } } }
{ }
{ "dir" = "/home"
{ "client" = "172.31.0.0/16"
{ "option" = "rw"}
{ "option" = "root_squash" }
{ "option" = "sync" } }
{ "client" = "@netgroup"
{ "option" = "rw" } }
{ "client" = "*.example.com" } }
{ "#comment" = "Yes, we export /tmp" }
{ "dir" = "/tmp"
{ "client" = "172.31.0.0/16"
{ "option" = "rw" }
{ "option" = "root_squash" }
{ "option" = "sync" } } }
{ "dir" = "/local2"
{ "client" = "somehost"
{ "option" = "rw" }
{ "option" = "sync" } } }
{ "dir" = "/local3"
{ "client" = "some-host"
{ "option" = "rw" }
{ "option" = "sync" } } }
{ "dir" = "/local3"
{ "client" = "another-host"
{ "option" = "rw" }
{ "option" = "sync" } } }
> augparse -I /usr/share/augeas/lenses test_exports.aug
test_exports.aug:13.2-44.37:exception thrown in test
test_exports.aug:13.7-.24:exception: Iterated lens matched less than it should
Lens: /usr/share/augeas/lenses/dist/exports.aug:96.12-.50:
Error encountered at 7:0 (190 characters into string)
<)\n/local2 somehost(rw,sync)\n|=|/local3 some-host(rw,sync)\n/>
Tree generated so far:
/dir[1] = "/local"
/dir[1]/client = "172.31.0.0/16"
/dir[1]/client/option[1] = "rw"
/dir[1]/client/option[2] = "sync"
/(none)
/dir[2] = "/home"
/dir[2]/client[1] = "172.31.0.0/16"
/dir[2]/client[1]/option[1] = "rw"
/dir[2]/client[1]/option[2] = "root_squash"
/dir[2]/client[1]/option[3] = "sync"
/dir[2]/client[2] = "@netgroup"
/dir[2]/client[2]/option = "rw"
/dir[2]/client[3] = "*.example.com"
/#comment = "Yes, we export /tmp"
/dir[3] = "/tmp"
/dir[3]/client = "172.31.0.0/16"
/dir[3]/client/option[1] = "rw"
/dir[3]/client/option[2] = "root_squash"
/dir[3]/client/option[3] = "sync"
/dir[4] = "/local2"
/dir[4]/client = "somehost"
/dir[4]/client/option[1] = "rw"
/dir[4]/client/option[2] = "sync"
Syntax error in lens definition
Failed to load test_exports.aug
More information about the augeas-devel
mailing list