aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAmy Griffis <amy.griffis@hp.com>2009-10-08 18:06:40 +0200
committerDaniel Veillard <veillard@redhat.com>2009-10-08 18:06:40 +0200
commite1a2fe6af283b809b7af54da6ab0b7821d01ee32 (patch)
tree14b223d07ea67eb95bbb40be9874f8b03c7428ee
parentLXC add driver config file lxc.conf (diff)
downloadlibvirt-e1a2fe6af283b809b7af54da6ab0b7821d01ee32.tar.gz
libvirt-e1a2fe6af283b809b7af54da6ab0b7821d01ee32.tar.bz2
libvirt-e1a2fe6af283b809b7af54da6ab0b7821d01ee32.zip
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
-rw-r--r--libvirt.spec.in10
-rw-r--r--src/Makefile.am36
-rw-r--r--src/lxc/libvirtd_lxc.aug30
-rw-r--r--src/lxc/test_libvirtd_lxc.aug31
4 files changed, 97 insertions, 10 deletions
diff --git a/libvirt.spec.in b/libvirt.spec.in
index a9a284799..93a3b1da6 100644
--- a/libvirt.spec.in
+++ b/libvirt.spec.in
@@ -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
diff --git a/src/Makefile.am b/src/Makefile.am
index ffc6581fe..d0ef7d1c7 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -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
index 000000000..10f25e4ef
--- /dev/null
+++ b/src/lxc/libvirtd_lxc.aug
@@ -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
index 000000000..e757b82d9
--- /dev/null
+++ b/src/lxc/test_libvirtd_lxc.aug
@@ -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" }