summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHans de Goede <hdegoede@redhat.com>2009-07-31 16:33:13 +0200
committerHans de Goede <hdegoede@redhat.com>2009-08-04 10:56:32 +0200
commit4505ff98e35dcf5e4326c639069ac06e4c530793 (patch)
treeb9022267c869187436dc78af30a5bc6e2fd5587a
parent18dce332e9b77fd13b0d7e0b7c3e5e398753a423 (diff)
downloadanaconda-4505ff98e35dcf5e4326c639069ac06e4c530793.tar.gz
anaconda-4505ff98e35dcf5e4326c639069ac06e4c530793.tar.xz
anaconda-4505ff98e35dcf5e4326c639069ac06e4c530793.zip
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
-rw-r--r--storage/devices.py1
-rw-r--r--storage/devicetree.py1
-rw-r--r--storage/iscsi.py4
3 files changed, 6 insertions, 0 deletions
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 ??