This is due to the change in the default virtqueue_size in the latest machine type to improve guest disks performance.
Signed-off-by: Denis Plotnikov <dplotni...@virtuozzo.com> --- tests/acceptance/virtio_seg_max_adjust.py | 33 ++++++++++++++--------- 1 file changed, 21 insertions(+), 12 deletions(-) diff --git a/tests/acceptance/virtio_seg_max_adjust.py b/tests/acceptance/virtio_seg_max_adjust.py index 5458573138..645d69b313 100755 --- a/tests/acceptance/virtio_seg_max_adjust.py +++ b/tests/acceptance/virtio_seg_max_adjust.py @@ -27,8 +27,10 @@ from qemu.machine import QEMUMachine from avocado_qemu import Test #list of machine types and virtqueue properties to test -VIRTIO_SCSI_PROPS = {'seg_max_adjust': 'seg_max_adjust'} -VIRTIO_BLK_PROPS = {'seg_max_adjust': 'seg-max-adjust'} +VIRTIO_SCSI_PROPS = {'seg_max_adjust': 'seg_max_adjust', + 'queue_size': 'virtqueue_size'} +VIRTIO_BLK_PROPS = {'seg_max_adjust': 'seg-max-adjust', + 'queue_size': 'queue-size'} DEV_TYPES = {'virtio-scsi-pci': VIRTIO_SCSI_PROPS, 'virtio-blk-pci': VIRTIO_BLK_PROPS} @@ -40,7 +42,7 @@ VM_DEV_PARAMS = {'virtio-scsi-pci': ['-device', 'virtio-scsi-pci,id=scsi0'], 'driver=null-co,id=drive0,if=none']} -class VirtioMaxSegSettingsCheck(Test): +class VirtioPramsCheck(Test): @staticmethod def make_pattern(props): pattern_items = ['{0} = \w+'.format(prop) for prop in props] @@ -72,20 +74,24 @@ class VirtioMaxSegSettingsCheck(Test): props[p[0]] = p[1] return query_ok, props, error - def check_mt(self, mt, dev_type_name): + def check_mt(self, mt, expected_props, dev_type_name): with QEMUMachine(self.qemu_bin) as vm: - vm.set_machine(mt["name"]) + vm.set_machine(mt) for s in VM_DEV_PARAMS[dev_type_name]: vm.add_args(s) vm.launch() query_ok, props, error = self.query_virtqueue(vm, dev_type_name) if not query_ok: - self.fail('machine type {0}: {1}'.format(mt['name'], error)) + self.fail('machine type {0}: {1}'.format(mt, error)) for prop_name, prop_val in props.items(): - expected_val = mt[prop_name] - self.assertEqual(expected_val, prop_val) + expected_val = expected_props[prop_name] + msg = 'Property value mismatch for (MT: {0}, '\ + 'property name: {1}): expected value: "{2}" '\ + 'actual value: "{3}"'\ + .format(mt, prop_name, expected_val, prop_val) + self.assertEqual(expected_val, prop_val, msg) @staticmethod def seg_max_adjust_enabled(mt): @@ -120,15 +126,18 @@ class VirtioMaxSegSettingsCheck(Test): for dev_type in DEV_TYPES: # create the list of machine types and their parameters. - mtypes = list() + mtypes = dict() for m in machines: if self.seg_max_adjust_enabled(m): enabled = 'true' + queue_size = '256' else: enabled = 'false' - mtypes.append({'name': m, - DEV_TYPES[dev_type]['seg_max_adjust']: enabled}) + queue_size = '128' + mtypes[m] = { + DEV_TYPES[dev_type]['seg_max_adjust']: enabled, + DEV_TYPES[dev_type]['queue_size']: queue_size } # test each machine type for a device type for mt in mtypes: - self.check_mt(mt, dev_type) + self.check_mt(mt, mtypes[mt], dev_type) -- 2.17.0