Jiri Denemark <jdenemar(a)redhat.com> writes:
On Fri, Feb 10, 2017 at 21:50:19 +0100, Milan Zamazal wrote:
> Hi, is there a reliable way to find out to what kind of job does the
> information returned from virDomainGetJobStats or provided in
> VIR_DOMAIN_EVENT_ID_JOB_COMPLETED event callback belong to?
No, libvirt expects that the caller knows what job it started. All jobs
currently reported using virDomainGetJobStats API or
VIR_DOMAIN_EVENT_ID_JOB_COMPLETED event are internally implemented as
migration in QEMU driver (either to a file or to a network socket),
which may confuse any heuristics for detecting the job type from the set
of fields returned by libvirt.
I see, thank you for explanation.
What is the problem you are trying to solve?
There are basically two problems:
- When the job completion callback is called, I need to distinguish what
kind of job was it to perform the appropriate actions. It would be
easier if I knew the job type directly in the callback (no need to
coordinate anything), but "external" job tracking is also possible.
- If I lost track of my jobs (e.g. because of a crash and restart), I'd
like to find out whether a given VM is migrating. Examining the job
looked like a good candidate to get the information, but apparently
it's not. Again, I can probably arrange things to handle that, but to
get the information directly from libvirt (not necessarily via job
info) would be easier and more reliable.
Thanks,
Milan