]> xenbits.xensource.com Git - libvirt.git/commitdiff
LXC add augeas support for config file
authorAmy Griffis <amy.griffis@hp.com>
Thu, 8 Oct 2009 16:06:40 +0000 (18:06 +0200)
committerDaniel Veillard <veillard@redhat.com>
Thu, 8 Oct 2009 16:06:40 +0000 (18:06 +0200)
* 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

libvirt.spec.in
src/Makefile.am
src/lxc/libvirtd_lxc.aug [new file with mode: 0644]
src/lxc/test_libvirtd_lxc.aug [new file with mode: 0644]

index a9a2847997454440d32832e33183dcd4b8ab474b..93a3b1da6acfdfe420cb17e8a01407ff086cc76e 100644 (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
 
index ffc6581fe483b9f4cb59dd17067aa0c6730ce04d..d0ef7d1c70aaa2a7b5ad7581489a024573a670e0 100644 (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:
 #
diff --git a/src/lxc/libvirtd_lxc.aug b/src/lxc/libvirtd_lxc.aug
new file mode 100644 (file)
index 0000000..10f25e4
--- /dev/null
@@ -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
diff --git a/src/lxc/test_libvirtd_lxc.aug b/src/lxc/test_libvirtd_lxc.aug
new file mode 100644 (file)
index 0000000..e757b82
--- /dev/null
@@ -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" }