From nobody Sun Feb 8 10:48:46 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1532695113165459.31864368262984; Fri, 27 Jul 2018 05:38:33 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id CC3BA36A5DA; Fri, 27 Jul 2018 12:37:56 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.20]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 8C97D65974; Fri, 27 Jul 2018 12:37:56 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id 3CF9718037F2; Fri, 27 Jul 2018 12:37:56 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.rdu2.redhat.com [10.11.54.4]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w6RCblJc004282 for ; Fri, 27 Jul 2018 08:37:47 -0400 Received: by smtp.corp.redhat.com (Postfix) id A43AC2026D74; Fri, 27 Jul 2018 12:37:47 +0000 (UTC) Received: from inaba.usersys.redhat.com (unknown [10.43.2.44]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 43A072026D6B for ; Fri, 27 Jul 2018 12:37:47 +0000 (UTC) From: Andrea Bolognani To: libvir-list@redhat.com Date: Fri, 27 Jul 2018 14:37:41 +0200 Message-Id: <20180727123741.28513-5-abologna@redhat.com> In-Reply-To: <20180727123741.28513-1-abologna@redhat.com> References: <20180727123741.28513-1-abologna@redhat.com> X-Scanned-By: MIMEDefang 2.78 on 10.11.54.4 X-loop: libvir-list@redhat.com Subject: [libvirt] [dbus PATCH 4/4] tests: Make node_device_create() work with libvirt 3.0.0 X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.29]); Fri, 27 Jul 2018 12:38:30 +0000 (UTC) X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" The scsi_host2 nodedev, which our test nodedev uses as its parent, was added to the test driver with commit 5c2ff641e10c, which is included in libvirt 3.1.0; before that, there was a similar device called test-scsi-host-vport, which is no longer present after libvirt 3.0.0. Since there's no nodedev that we can use as parent both with libvirt 3.0.0 and with later versions, our only option is to perform a lookup at runtime and use whatever's available. Signed-off-by: Andrea Bolognani --- tests/libvirttest.py | 17 ++++++++++++++++- tests/xmldata.py | 2 +- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/tests/libvirttest.py b/tests/libvirttest.py index 776b12d..14baf5b 100644 --- a/tests/libvirttest.py +++ b/tests/libvirttest.py @@ -91,7 +91,22 @@ class BaseTestClass(): This fixture should be used in the setup of every test manipulating with node devices. """ - path =3D self.connect.NodeDeviceCreateXML(xmldata.minimal_node_dev= ice_xml, 0) + # We need a usable parent nodedev: possible candidates are + # scsi_host2 (available since libvirt 3.1.0) and + # test-scsi-host-vport (available until libvirt 3.0.0). + # + # Looking up a non-existing nodedev raises an exception, so + # we need to ignore them here: that's okay, because if we + # can't find any then NodeDeviceCreateXML() itself will fail + xml =3D xmldata.minimal_node_device_xml + for parent in ['scsi_host2', 'test-scsi-host-vport']: + try: + if self.connect.NodeDeviceLookupByName(parent): + xml =3D xml.replace('@parent@', parent) + break + except dbus.exceptions.DBusException: + pass + path =3D self.connect.NodeDeviceCreateXML(xml, 0) return path =20 @pytest.fixture diff --git a/tests/xmldata.py b/tests/xmldata.py index a70bac1..8075052 100644 --- a/tests/xmldata.py +++ b/tests/xmldata.py @@ -41,7 +41,7 @@ minimal_network_xml =3D ''' minimal_node_device_xml =3D ''' scsi_host22 - scsi_host2 + @parent@ 22 22 --=20 2.17.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list