Hello!
I liked the idea of adding all this
if user supplies e.g. <controller type='pci' model='pci-root'/>
IMHO there would be a usability problem with this:
a) Too much excessive typing.
b) It is not intuitively understood that you have to define the controller explicitly.
Especially
because if you run qemu by hands, this is not true. For example, when i first started to
cope with
PCI devices, i quickly found out about <address type='pci'> in google. But
having to add something
else is not that obvious and easy to discover.
c) AFAIK virt-manager even cannot add PCI controller explicitly, it relies on
libvirt's automagic in
question.
I think it would be a perfect consensus if we add "PCI devices are actually
present" to the
condition. In this case, if there is at least one PCI device in the input XML, controller
description is automatically added. If there is none, it's OK to remove it. IMHO
it's not difficult
to implement because it's post-parse stage, and everything that the user entered has
already been
parsed.
But we still want the capability check because old qemu versions simply cannot
accommodate this.
Therefore it doesn't remove the need to fix up tests.
Kind regards,
Pavel Fedin
Expert Engineer
Samsung Electronics Research center Russia