virt plugin: Add support for domain tags
authorFrancesco Romani <fromani@redhat.com>
Mon, 21 Nov 2016 10:29:52 +0000 (11:29 +0100)
committerFrancesco Romani <fromani@redhat.com>
Wed, 30 Nov 2016 09:27:00 +0000 (10:27 +0100)
commit452324c4a5b6ec07575cfc5d5d339852b040509b
tree47bc83d9c43ef725ea3f781daa5b9421acb85766
parent9f9af17af0f568abf79b415473125f923be44a34
virt plugin: Add support for domain tags

One "domain tag" is one custom attribute in the libvirt domain
metadata section. This patch enhances the virt plugin to partition
the domains to sample into reader instances according to tags.

One reader instance will only query the domains with attached
a macthing tag.
The special-purpose reader instance #0, guaranteed to be always present,
(since <0 instances are not allowed), will query all the domains
with missing or unrecognized tag, so no domain will ever left
out.

It's up to one external entity, like a management application,
to properly tag domains however it sees fit; how tags are picked
is completely transparent to the plugin

Tagging could be used by management application to evenly spread the
load among the reader threads, or to pin on the same threads all
the libvirt domains which use the same shared storage, to minimize
the disruption in presence of storage outages.

Signed-off-by: Francesco Romani <fromani@redhat.com>
src/virt.c