From 4505ff98e35dcf5e4326c639069ac06e4c530793 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Fri, 31 Jul 2009 16:33:13 +0200 Subject: Differentiate between ibft discovered and manually added iscsi disks This is a preparation patch for adding support for writing the necessary dracut cmndline options to grub.conf --- storage/devices.py | 1 + storage/devicetree.py | 1 + storage/iscsi.py | 4 ++++ 3 files changed, 6 insertions(+) (limited to 'storage') diff --git a/storage/devices.py b/storage/devices.py index ac1bbda98..f6600b580 100644 --- a/storage/devices.py +++ b/storage/devices.py @@ -2932,6 +2932,7 @@ class iScsiDiskDevice(DiskDevice, NetworkStorageDevice): def __init__(self, device, **kwargs): self.node = kwargs.pop("node") + self.ibft = kwargs.pop("ibft") DiskDevice.__init__(self, device, **kwargs) NetworkStorageDevice.__init__(self, host_address=self.node.address) log.debug("created new iscsi disk %s %s:%d" % (self.node.name, self.node.address, self.node.port)) diff --git a/storage/devicetree.py b/storage/devicetree.py index b4634d958..8f7c4f0cd 100644 --- a/storage/devicetree.py +++ b/storage/devicetree.py @@ -1110,6 +1110,7 @@ class DeviceTree(object): udev_device_get_iscsi_name(info), udev_device_get_iscsi_address(info), udev_device_get_iscsi_port(info)) + kwargs["ibft"] = kwargs["node"] in self.iscsi.ibftNodes log.debug("%s is an iscsi disk" % name) elif udev_device_is_fcoe(info): diskType = FcoeDiskDevice diff --git a/storage/iscsi.py b/storage/iscsi.py index 7c2dc36bb..962959663 100644 --- a/storage/iscsi.py +++ b/storage/iscsi.py @@ -92,7 +92,10 @@ def stabilize(intf = None): class iscsi(object): def __init__(self): + # This list contains all nodes self.nodes = [] + # This list contains nodes discovered through iBFT (or other firmware) + self.ibftNodes = [] self._initiator = "" self.initiatorSet = False self.started = False @@ -134,6 +137,7 @@ class iscsi(object): try: node.login() self.nodes.append(node) + self.ibftNodes.append(node) except: # FIXME, what to do when we cannot log in to a firmware # provided node ?? -- cgit