From: Laurent Vivier <lvivier@redhat.com>
To: qemu-devel@nongnu.org
Cc: Laurent Vivier <lvivier@redhat.com>,
Paolo Bonzini <pbonzini@redhat.com>,
Thomas Huth <thuth@redhat.com>,
Jens Freimann <jfreimann@redhat.com>,
Juan Quintela <quintela@redhat.com>
Subject: [PATCH v7 0/4] tests/qtest: add some tests for virtio-net failover
Date: Tue, 7 Dec 2021 18:23:38 +0100 [thread overview]
Message-ID: <20211207172342.4058491-1-lvivier@redhat.com> (raw)
This series adds a qtest entry to test virtio-net failover feature.
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
v7:
- merge patch 3 and 4 as the fix for ACPI unplug has been merged
- address Thomas' comments
- add a dependency on slirp in meson.build
- check FAILOVER_NEGOCIATED device-id and MIGRATION status
on destination, update UNPLUG_PRIMARY event checking
- fix an object_unref() in test_migrate_abort_active()
- fix typo s/whan/when/
v6:
- manage more than 2 root ports
- add a function to check if a card is available or not
- check migration state
- add cancelled migration test cases
- rename tests
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
test/libqtest: add some virtio-net failover migration cancelling tests
tests/libqtest: add a migration test with two couples of failover
devices
include/hw/pci/pci_bridge.h | 8 +
tests/qtest/libqos/pci.c | 118 +++
tests/qtest/libqos/pci.h | 1 +
tests/qtest/meson.build | 4 +
tests/qtest/virtio-net-failover.c | 1324 +++++++++++++++++++++++++++++
5 files changed, 1455 insertions(+)
create mode 100644 tests/qtest/virtio-net-failover.c
--
2.33.1
next reply other threads:[~2021-12-07 17:29 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-12-07 17:23 Laurent Vivier [this message]
2021-12-07 17:23 ` [PATCH v7 1/4] qtest/libqos: add a function to initialize secondary PCI buses Laurent Vivier
2021-12-07 17:23 ` [PATCH v7 2/4] tests/qtest: add some tests for virtio-net failover Laurent Vivier
2021-12-08 7:33 ` Thomas Huth
2021-12-08 7:35 ` Michael S. Tsirkin
2021-12-08 8:39 ` Thomas Huth
2021-12-08 8:52 ` Laurent Vivier
2021-12-08 8:55 ` Thomas Huth
2021-12-07 17:23 ` [PATCH v7 3/4] test/libqtest: add some virtio-net failover migration cancelling tests Laurent Vivier
2021-12-07 17:23 ` [PATCH v7 4/4] tests/libqtest: add a migration test with two couples of failover devices Laurent Vivier
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20211207172342.4058491-1-lvivier@redhat.com \
--to=lvivier@redhat.com \
--cc=jfreimann@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=quintela@redhat.com \
--cc=thuth@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).