[libvirt] [PATCH v1 1/1] qemu/gluster: add option for tuning debug logging level
Daniel P. Berrange
berrange at redhat.com
Thu Sep 15 12:50:42 UTC 2016
On Thu, Sep 15, 2016 at 06:09:02PM +0530, Prasanna Kalever wrote:
> On Thu, Sep 15, 2016 at 4:17 PM, Peter Krempa <pkrempa at redhat.com> wrote:
> > On Thu, Sep 15, 2016 at 15:32:48 +0530, Prasanna Kumar Kalever wrote:
> >> This helps in selecting log level of the gluster gfapi, output to stderr.
> >> The option is 'qemu_gfapi_debuglevel', can be tuned by editing
> >> '/etc/libvirt/qemu.conf'
> >>
> >> Debug levels ranges 0-9, with 9 being the most verbose, and 0 representing
> >> no debugging output. The default is the same as it was before, which
> >> is a level of 4. The current logging levels defined in the gluster
> >> gfapi are:
> >>
> >> 0 - None
> >> 1 - Emergency
> >> 2 - Alert
> >> 3 - Critical
> >> 4 - Error
> >> 5 - Warning
> >> 6 - Notice
> >> 7 - Info
> >> 8 - Debug
> >> 9 - Trace
> >>
> >> Signed-off-by: Prasanna Kumar Kalever <prasanna.kalever at redhat.com>
> >> --
> >> v1: Initial post
> >> ---
> >> src/qemu/qemu.conf | 20 ++++++++++++++++++++
> >> src/qemu/qemu_command.c | 12 +++++++++++-
> >> src/qemu/qemu_conf.c | 3 +++
> >> src/qemu/qemu_conf.h | 1 +
> >> src/util/virstoragefile.h | 2 ++
> >> 5 files changed, 37 insertions(+), 1 deletion(-)
> >
> > This patch fails qemuxml2argvtest and make syntax-check. Please make
> > sure to run the testsuite and syntax-check before submission.
>
> Apologies for ignoring the guidelines.
>
> >
> >>
> >> diff --git a/src/qemu/qemu.conf b/src/qemu/qemu.conf
> >> index e4c2aae..c6c8f3a 100644
> >> --- a/src/qemu/qemu.conf
> >> +++ b/src/qemu/qemu.conf
> >> @@ -621,3 +621,23 @@
> >> # rollover when a size limit is hit.
> >> #
> >> #stdio_handler = "logd"
> >> +
> >> +# Qemu gluster libgfapi log level, debug levels are 0-9, with 9 being the
> >> +# most verbose, and 0 representing no debugging output.
> >> +#
> >> +# The current logging levels defined in the gluster GFAPI are:
> >> +#
> >> +# 0 - None
> >> +# 1 - Emergency
> >> +# 2 - Alert
> >> +# 3 - Critical
> >> +# 4 - Error
> >> +# 5 - Warning
> >> +# 6 - Notice
> >> +# 7 - Info
> >> +# 8 - Debug
> >> +# 9 - Trace
> >> +#
> >> +# Defaults to 4
> >> +#
> >> +# qemu_gfapi_debuglevel = 9
> >
> > Missing change to src/qemu/libvirtd_qemu.aug
>
> Peter, can you please teach me what is the essence of this ?
>
> >
> >> diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
> >> index 3a61863..650eedc 100644
> >> --- a/src/qemu/qemu_command.c
> >> +++ b/src/qemu/qemu_command.c
> >> @@ -859,6 +859,7 @@ qemuBuildGlusterDriveJSON(virStorageSourcePtr src)
> >> /* { driver:"gluster",
> >> * volume:"testvol",
> >> * path:"/a.img",
> >> + * debug:9,
> >> * server :[{type:"tcp", host:"1.2.3.4", port:24007},
> >> * {type:"unix", socket:"/tmp/glusterd.socket"}, ...]}
> >> */
> >> @@ -866,6 +867,7 @@ qemuBuildGlusterDriveJSON(virStorageSourcePtr src)
> >> "s:driver", protocol,
> >> "s:volume", src->volume,
> >> "s:path", src->path,
> >> + "u:debug", src->debug_level,
> >> "a:server", servers, NULL) < 0)
> >> virJSONValueFree(servers);
> >>
> >> @@ -2177,6 +2179,7 @@ qemuBuildDriveDevStr(const virDomainDef *def,
> >>
> >> static int
> >> qemuBuildDiskDriveCommandLine(virCommandPtr cmd,
> >> + virQEMUDriverConfigPtr cfg,
> >> const virDomainDef *def,
> >> virQEMUCapsPtr qemuCaps)
> >> {
> >> @@ -2255,6 +2258,13 @@ qemuBuildDiskDriveCommandLine(virCommandPtr cmd,
> >>
> >> virCommandAddArg(cmd, "-drive");
> >>
> >> + if (disk->src &&
> >> + disk->src->protocol == VIR_STORAGE_NET_PROTOCOL_GLUSTER) {
> >
> > Misaligned.
> >
> >> + if(cfg->qemuGfapiDebugLevel) {
> >> + disk->src->debug_level = cfg->qemuGfapiDebugLevel;
> >> + }
> >
> > Fails at least two syntax-check rules.
> >
> >> + }
> >
> > Since this is done for gluster only I don't see a reason to have a
> > debug_level property for the storage source. It would make sense if you
> > could configure it on a per disk basis.
>
> I understand that the concern is w.r.t adding debug_level in storage
> source i.e. in virStorageSourcePtr
>
> I'm not sure if I'm following the suggested solution here. Can you
> please elaborate more.
>
> >
> >> +
> >> if (!(optstr = qemuBuildDriveStr(disk, driveBoot, qemuCaps)))
> >> return -1;
> >> virCommandAddArg(cmd, optstr);
> >
> > Peter
>
>
> Not sure if you have noticed it, I have also ignored the URI part of
> gluster protocol.
> Along with the comments, I shall also address that part URI part in
> the next version of this patch.
>
> Peter let me know if its worth to split the patches in below fashion.
>
> 1/4: URI changes
> 2/4: test case changes
> 3/4: JSON changes
> 4/4: test case changes for JSON
Splitting it is overkill IMHO, as the changes are all logically part
of the same feature.
Regards,
Daniel
--
|: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org -o- http://virt-manager.org :|
|: http://autobuild.org -o- http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|
More information about the libvir-list
mailing list