nodedev: Separate out lookupNodedevByName

This will facilitate upcoming cleanups + bugfixes

Signed-off-by: Cole Robinson <crobinso@redhat.com>
This commit is contained in:
Cole Robinson 2022-01-21 12:39:26 -05:00
parent 4a933b0223
commit d0664bc521

View File

@ -53,6 +53,21 @@ class NodeDevice(XMLBuilder):
CAPABILITY_TYPE_DRM = "drm"
CAPABILITY_TYPE_MDEV = "mdev"
@staticmethod
def lookupNodedevByName(conn, name):
"""
Search the nodedev list cache for a matching name, and return the
result.
:param conn: libvirt.virConnect instance to perform the lookup on
:param conn: nodedev name
:returns: NodeDevice instance
"""
for nodedev in conn.fetch_all_nodedevs():
if nodedev.name == name:
return nodedev
@staticmethod
def lookupNodedevFromString(conn, idstring):
"""
@ -71,9 +86,9 @@ class NodeDevice(XMLBuilder):
:returns: NodeDevice instance
"""
# First try and see if this is a libvirt nodedev name
for nodedev in conn.fetch_all_nodedevs():
if nodedev.name == idstring:
return nodedev
nodedev = NodeDevice.lookupNodedevByName(conn, idstring)
if nodedev:
return nodedev
try:
return _AddressStringToNodedev(conn, idstring)