[ovirt-devel] [VDSM] cleaning statistics retrieval

Francesco Romani fromani at redhat.com
Mon Apr 14 09:08:22 UTC 2014


----- Original Message -----
> From: "Dan Kenigsberg" <danken at redhat.com>
> To: "Francesco Romani" <fromani at redhat.com>
> Cc: devel at ovirt.org, "vdsm-devel" <vdsm-devel at lists.fedorahosted.org>
> Sent: Thursday, April 10, 2014 12:25:33 PM
> Subject: Re: [VDSM] cleaning statistics retrieval

[...]
> > > Could you explain how an AttributeError there moved the VM to Down?
> > 
> > This should actually be this bug of engine
> > https://bugzilla.redhat.com/show_bug.cgi?id=1072282
> > if GetVmStats fails for whatever reason, engine thinks the VM is down.
> 
> Could you rename the Vdsm bug to exprese the in-vdsm problem, and make
> clear that it confuses older Engines to think the Vm is Down?

Done
 

[...]
> > The VDSM 'grading' was an hint from VDSM to help engine to distinguish
> > between those cases.
> > 
> > Even if we agree this grading idea is bad, the core issue remains open:
> > what to do if we end up with a partial response?
> > For example, let's say we handle the getBalloonInfo exception
> > (http://gerrit.ovirt.org/#/c/26539/),
> > the stats object to be returned will lack
> > 
> > * the (mandatory, expected) balloon stats
> > * the (optional) migration progress - ok, bad example because this makes
> > sense only during migrations,
> >   but other optional fields may be added later and the issue remains
> > 
> > Again, anyone feel free to correct me if I misunderstood something about
> > engine
> > (or VDSM <=> engine communication) and to suggest better alternatives :\
> 
> Currently, we have way too many try-except-Exception clauses in our
> code. They swallow everything: from expected libvirt errors to
> unexpected syntax errors. We should eliminate them, not add more.
> 
> Mandatory stuff must be reported, so if we fail extracting them
> we'd better explode and raise an error. Optional stuff are optional, so
> we could drop them from the output, in order to report the mandatory
> ones.
> 
> http://gerrit.ovirt.org/#/c/26539/2/vdsm/virt/vm.py currently suggest
> that Vdsm lie when it fails to extract the current ballon size, and say
> that it's 0. I'd prefer to drop balloon_cur from the return value of
> _getBalloonInfo or drop balloonInfo from the reported stats.
> 
> My only question is the granularity of the definition: is balloonInfo
> atomic, or can it be reported without balloon_cur? Should it? I'd prefer
> to have the "atoms" as big as possible, to limit the number of
> combinations - if self._dom is None, don't report balloonInfo at all,
> and so if the libvirt connection timed out.

OK, I'll amend http://gerrit.ovirt.org/#/c/26539/ accordingly (and of course
taking in account Michal's remarks).

I posted previously a tentative getStats cleanup in the form of this patch series
http://gerrit.ovirt.org/#/c/26547/ (13 patches but quite fine-grained), in light
of what we discussed on this thread I consider them obsolete and I'm going
to abandon them.

Bests,

-- 
Francesco Romani
RedHat Engineering Virtualization R & D
Phone: 8261328
IRC: fromani



More information about the Devel mailing list