Message ID | 20211119090718.440793-1-lvivier@redhat.com (mailing list archive) |
---|---|
Headers | show |
Series | tests/qtest: add some tests for virtio-net failover | expand |
On Fri, Nov 19, 2021 at 10:07:14AM +0100, Laurent Vivier wrote: > This series adds a qtest entry to test virtio-net failover feature. Reviewed-by: Michael S. Tsirkin <mst@redhat.com> > We check following error cases: > > - check missing id on device with failover_pair_id triggers an error > - check a primary device plugged on a bus that doesn't support hotplug > triggers an error > > We check the status of the machine before and after hotplugging cards and > feature negotiation: > > - check we don't see the primary device at boot if failover is on > - check we see the primary device at boot if failover is off > - check we don't see the primary device if failover is on > but failover_pair_id is not the one with on (I think this should be changed) > - check the primary device is plugged after the feature negotiation > - check the result if the primary device is plugged before standby device and > vice-versa > - check the if the primary device is coldplugged and the standy device > hotplugged and vice-versa > - check the migration triggers the unplug and the hotplug > > There is one preliminary patch in the series: > > - PATCH 1 introduces a function to enable PCI bridge. > Failover needs to be plugged on a pcie-root-port and while > the root port is not configured the cards behind it are not > available > > v5: > - re-add the wait-unplug test that has been removed from v4 by mistake. > > v4: > - rely on query-migrate status to know the migration state rather than > to wait the STOP event. > - remove the patch to add time out to qtest_qmp_eventwait() > > v3: > - fix a bug with ACPI unplug and add the related test > > v2: > - remove PATCH 1 that introduced a function that can be replaced by > qobject_to_json_pretty() (Markus) > - Add migration to a file and from the file to check the card is > correctly unplugged on the source, and hotplugged on the dest > - Add an ACPI call to eject the card as the kernel would do > > Laurent Vivier (4): > qtest/libqos: add a function to initialize secondary PCI buses > tests/qtest: add some tests for virtio-net failover > failover: fix unplug pending detection > tests/libqtest: update virtio-net failover test > > hw/acpi/pcihp.c | 30 +- > include/hw/pci/pci_bridge.h | 8 + > tests/qtest/libqos/pci.c | 118 ++++++ > tests/qtest/libqos/pci.h | 1 + > tests/qtest/meson.build | 3 + > tests/qtest/virtio-net-failover.c | 681 ++++++++++++++++++++++++++++++ > 6 files changed, 838 insertions(+), 3 deletions(-) > create mode 100644 tests/qtest/virtio-net-failover.c > > -- > 2.33.1 >