I've attempted to add augeas support for lxc.conf based on qemu.conf. --- libvirt.spec.in | 10 ++++++++++ src/Makefile.am | 18 ++++++++++++------ src/lxc/libvirtd_lxc.aug | 30 ++++++++++++++++++++++++++++++ src/lxc/test_libvirtd_lxc.aug | 31 +++++++++++++++++++++++++++++++ 4 files changed, 83 insertions(+), 6 deletions(-) create mode 100644 src/lxc/libvirtd_lxc.aug create mode 100644 src/lxc/test_libvirtd_lxc.aug diff --git a/libvirt.spec.in b/libvirt.spec.in index 725ef60..4af1f00 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 @@ -674,6 +679,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 73bbb70..7e3abab 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 = \ @@ -429,11 +435,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 +augeas_DATA += qemu/libvirtd_qemu.aug +augeastest_DATA += qemu/test_libvirtd_qemu.aug check-local: test -x '$(AUGPARSE)' \ @@ -460,8 +463,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 diff --git a/src/lxc/libvirtd_lxc.aug b/src/lxc/libvirtd_lxc.aug new file mode 100644 index 0000000..10f25e4 --- /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 0000000..e757b82 --- /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" } -- Libvir-list mailing list Libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list