Skip to content

Commit

Permalink
Netkvm: Fix session handling issue during netkvm driver installation
Browse files Browse the repository at this point in the history
Installing the netkvm driver on an existing network interface caused
session handling issues, leading to test failures. This patch changes
the session handling from SSH to the serial session by replacing
vm.wait_for_login() with vm.wait_for_serial_login(). It also adds a ping
test to verify network connectivity after the driver installation.

Signed-off-by: wji <[email protected]>
  • Loading branch information
heywji committed Oct 9, 2024
1 parent af63fc5 commit 4acabcd
Showing 1 changed file with 12 additions and 1 deletion.
13 changes: 12 additions & 1 deletion qemu/tests/single_driver_install.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@

from virttest import error_context
from virttest import utils_misc
from virttest import utils_net
from virttest.utils_windows import virtio_win, wmic
from virttest.utils_test.qemu import windrv_verify_running

Expand Down Expand Up @@ -144,7 +145,8 @@ def run(test, params, env):
vm.destroy()
vm.create()
vm = env.get_vm(params["main_vm"])
session = vm.wait_for_login()
# This is a workaround for session logout issue
session = vm.wait_for_serial_login()
else:
session = vm.reboot(session)

Expand Down Expand Up @@ -172,6 +174,15 @@ def run(test, params, env):
if not utils_misc.wait_for(lambda: not session.cmd_status(chk_cmd),
600, 60, 10):
test.fail("Failed to install driver '%s'" % driver_name)
if device_name[0:30] == "Red Hat VirtIO Ethernet Adapte":
ext_host = utils_net.get_ip_address_by_interface(ifname="%s" % params.get("netdst"))
test.log.info("ext_host of netkvm adapter is %s" % ext_host)
guest_ip = vm.get_address("nic2")
test.log.info("guest_ip of netkvm adapter is %s" % guest_ip)
status, output = utils_net.ping(
ext_host, interface=guest_ip, count=10, timeout=60, session=session)
if status:
test.fail("Ping %s failed, output=%s" % (ext_host, output))

installed_any |= True
if not installed_any:
Expand Down

0 comments on commit 4acabcd

Please sign in to comment.