guest,osdict: Pass down extra_devs to supports_virtio*() methods

Reviewed-by: Cole Robinson <crobinso@redhat.com>
Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com>
This commit is contained in:
Fabiano Fidêncio 2019-09-27 13:30:22 +02:00 committed by Cole Robinson
parent 35f6938c10
commit ef8c772be7
2 changed files with 9 additions and 8 deletions

View File

@ -487,13 +487,13 @@ class Guest(XMLBuilder):
return False
def supports_virtionet(self):
return self._supports_virtio(self.osinfo.supports_virtionet())
return self._supports_virtio(self.osinfo.supports_virtionet(self._extra_drivers))
def supports_virtiodisk(self):
return self._supports_virtio(self.osinfo.supports_virtiodisk())
return self._supports_virtio(self.osinfo.supports_virtiodisk(self._extra_drivers))
def supports_virtioscsi(self):
return self._supports_virtio(self.osinfo.supports_virtioscsi())
return self._supports_virtio(self.osinfo.supports_virtioscsi(self._extra_drivers))
def _supports_virtioserial(self):
return self._supports_virtio(self.osinfo.supports_virtioserial())
return self._supports_virtio(self.osinfo.supports_virtioserial(self._extra_drivers))
###############################
@ -838,7 +838,7 @@ class Guest(XMLBuilder):
self.add_device(dev)
# s390x guests need VirtIO input devices
if self.os.is_s390x() and self.osinfo.supports_virtioinput():
if self.os.is_s390x() and self.osinfo.supports_virtioinput(self._extra_drivers):
dev = DeviceInput(self.conn)
dev.type = "tablet"
dev.bus = "virtio"
@ -945,7 +945,7 @@ class Guest(XMLBuilder):
return
if (self.conn.is_qemu() and
self.osinfo.supports_virtiorng() and
self.osinfo.supports_virtiorng(self._extra_drivers) and
self.conn.support.conn_rng_urandom()):
dev = DeviceRng(self.conn)
dev.type = "random"
@ -978,7 +978,7 @@ class Guest(XMLBuilder):
self.os.is_pseries()):
return
if self.osinfo.supports_virtioballoon():
if self.osinfo.supports_virtioballoon(self._extra_drivers):
dev = DeviceMemballoon(self.conn)
dev.model = "virtio"
self.add_device(dev)

View File

@ -576,7 +576,8 @@ class _OsVariant(object):
def supports_chipset_q35(self, extra_devs=None):
# For our purposes, check for the union of q35 + virtio1.0 support
if self.supports_virtionet() and not self.supports_virtio1():
if (self.supports_virtionet(extra_devs=extra_devs) and
not self.supports_virtio1(extra_devs=extra_devs)):
return False
devids = ["http://qemu.org/chipset/x86/q35"]
return bool(self._device_filter(devids=devids, extra_devs=extra_devs))