LXC add augeas support for config file

* src/lxc/libvirtd_lxc.aug src/lxc/test_libvirtd_lxc.aug: augeas schemas
  for lxc.conf
* src/Makefile.am libvirt.spec.in: glue the new augeas files in
This commit is contained in:
Amy Griffis 2009-10-08 18:06:40 +02:00 committed by Daniel Veillard
parent 2dd44664cf
commit e1a2fe6af2
4 changed files with 97 additions and 10 deletions

View File

@ -539,6 +539,11 @@ rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/tests/test_libvirtd_qemu.aug
%endif
%find_lang %{name}
%if ! %{with_lxc}
rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/libvirtd_lxc.aug
rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/tests/test_libvirtd_lxc.aug
endif
%if ! %{with_python}
rm -rf $RPM_BUILD_ROOT%{_datadir}/doc/libvirt-python-%{version}
%endif
@ -677,6 +682,11 @@ fi
%{_datadir}/augeas/lenses/tests/test_libvirtd_qemu.aug
%endif
%if %{with_lxc}
%{_datadir}/augeas/lenses/libvirtd_lxc.aug
%{_datadir}/augeas/lenses/tests/test_libvirtd_lxc.aug
%endif
%{_datadir}/augeas/lenses/libvirtd.aug
%{_datadir}/augeas/lenses/tests/test_libvirtd.aug

View File

@ -35,6 +35,12 @@ mod_LTLIBRARIES =
confdir = $(sysconfdir)/libvirt
conf_DATA =
augeasdir = $(datadir)/augeas/lenses
augeas_DATA =
augeastestdir = $(datadir)/augeas/lenses/tests
augeastest_DATA =
# These files are not related to driver APIs. Simply generic
# helper APIs for various purposes
UTIL_SOURCES = \
@ -435,15 +441,8 @@ libvirt_driver_qemu_la_SOURCES = $(QEMU_DRIVER_SOURCES)
conf_DATA += qemu/qemu.conf
augeasdir = $(datadir)/augeas/lenses
augeas_DATA = qemu/libvirtd_qemu.aug
augeastestdir = $(datadir)/augeas/lenses/tests
augeastest_DATA = qemu/test_libvirtd_qemu.aug
check-local:
test -x '$(AUGPARSE)' \
&& '$(AUGPARSE)' -I $(srcdir) $(srcdir)/test_libvirtd_qemu.aug || :
augeas_DATA += qemu/libvirtd_qemu.aug
augeastest_DATA += qemu/test_libvirtd_qemu.aug
endif
EXTRA_DIST += qemu/qemu.conf qemu/libvirtd_qemu.aug qemu/test_libvirtd_qemu.aug
@ -466,8 +465,11 @@ libvirt_driver_lxc_la_SOURCES = $(LXC_DRIVER_SOURCES)
conf_DATA += lxc/lxc.conf
augeas_DATA += lxc/libvirtd_lxc.aug
augeastest_DATA += lxc/test_libvirtd_lxc.aug
endif
EXTRA_DIST += lxc/lxc.conf
EXTRA_DIST += lxc/lxc.conf lxc/libvirtd_lxc.aug lxc/test_libvirtd_lxc.aug
if WITH_UML
if WITH_DRIVER_MODULES
@ -692,6 +694,20 @@ EXTRA_DIST += \
$(SECRET_DRIVER_SOURCES) \
$(VBOX_DRIVER_EXTRA_DIST)
check-local:
if WITH_QEMU
if test -x '$(AUGPARSE)'; then \
'$(AUGPARSE)' -I $(srcdir)/qemu \
$(srcdir)/qemu/test_libvirtd_qemu.aug; \
fi
endif
if WITH_LXC
if test -x '$(AUGPARSE)'; then \
'$(AUGPARSE)' -I $(srcdir)/lxc \
$(srcdir)/lxc/test_libvirtd_lxc.aug; \
fi
endif
#
# Build our version script. This is composed of three parts:
#

30
src/lxc/libvirtd_lxc.aug Normal file
View File

@ -0,0 +1,30 @@
(* /etc/libvirt/lxc.conf *)
module Libvirtd_lxc =
autoload xfm
let eol = del /[ \t]*\n/ "\n"
let value_sep = del /[ \t]*=[ \t]*/ " = "
let indent = del /[ \t]*/ ""
let bool_val = store /0|1/
let bool_entry (kw:string) = [ key kw . value_sep . bool_val ]
(* Config entry grouped by function - same order as example config *)
let log_entry = bool_entry "log_with_libvirtd"
(* Each enty in the config is one of the following three ... *)
let entry = log_entry
let comment = [ label "#comment" . del /#[ \t]*/ "# " . store /([^ \t\n][^\n]*)?/ . del /\n/ "\n" ]
let empty = [ label "#empty" . eol ]
let record = indent . entry . eol
let lns = ( record | comment | empty ) *
let filter = incl "/etc/libvirt/lxc.conf"
. Util.stdexcl
let xfm = transform lns filter

View File

@ -0,0 +1,31 @@
module Test_libvirtd_lxc =
let conf = "# Master configuration file for the LXC driver.
# All settings described here are optional - if omitted, sensible
# defaults are used.
# By default, log messages generated by the lxc controller go to the
# container logfile. It is also possible to accumulate log messages
# from all lxc controllers along with libvirtd's log outputs. In this
# case, the lxc controller will honor either LIBVIRT_LOG_OUTPUTS or
# log_outputs from libvirtd.conf.
#
# This is disabled by default, uncomment below to enable it.
#
log_with_libvirtd = 1
"
test Libvirtd_lxc.lns get conf =
{ "#comment" = "Master configuration file for the LXC driver." }
{ "#comment" = "All settings described here are optional - if omitted, sensible" }
{ "#comment" = "defaults are used." }
{ "#empty" }
{ "#comment" = "By default, log messages generated by the lxc controller go to the" }
{ "#comment" = "container logfile. It is also possible to accumulate log messages" }
{ "#comment" = "from all lxc controllers along with libvirtd's log outputs. In this" }
{ "#comment" = "case, the lxc controller will honor either LIBVIRT_LOG_OUTPUTS or" }
{ "#comment" = "log_outputs from libvirtd.conf." }
{ "#comment" = "" }
{ "#comment" = "This is disabled by default, uncomment below to enable it." }
{ "#comment" = "" }
{ "log_with_libvirtd" = "1" }