[PATCH 5/8] Differentiate between ibft discovered and manually added iscsi disks

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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(+), 0 deletions(-)

diff --git a/storage/devices.py b/storage/devices.py
index ac1bbda..f6600b5 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 b4634d9..8f7c4f0 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 7c2dc36..9629596 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 ??
-- 
1.6.2.2

_______________________________________________
Anaconda-devel-list mailing list
Anaconda-devel-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/anaconda-devel-list

[Index of Archives]     [Kickstart]     [Fedora Users]     [Fedora Legacy List]     [Fedora Maintainers]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]
  Powered by Linux