summaryrefslogtreecommitdiffstats
path: root/storage
diff options
context:
space:
mode:
authorHans de Goede <hdegoede@redhat.com>2009-07-31 16:32:37 +0200
committerHans de Goede <hdegoede@redhat.com>2009-08-04 10:56:32 +0200
commit18dce332e9b77fd13b0d7e0b7c3e5e398753a423 (patch)
tree11e22d93dc46aa50998d1ed1d65284ea07c1be46 /storage
parent1a42b9203412cab698fe8cc665918592b7121579 (diff)
downloadanaconda-18dce332e9b77fd13b0d7e0b7c3e5e398753a423.tar.gz
anaconda-18dce332e9b77fd13b0d7e0b7c3e5e398753a423.tar.xz
anaconda-18dce332e9b77fd13b0d7e0b7c3e5e398753a423.zip
Store iscsi node pointer in iScsiDiskDevice objects
This is a preparation patch for adding support for writing the necessary dracut cmndline options to grub.conf
Diffstat (limited to 'storage')
-rw-r--r--storage/__init__.py6
-rw-r--r--storage/devices.py8
-rw-r--r--storage/devicetree.py10
-rw-r--r--storage/iscsi.py4
4 files changed, 14 insertions, 14 deletions
diff --git a/storage/__init__.py b/storage/__init__.py
index 348a15516..094c079d6 100644
--- a/storage/__init__.py
+++ b/storage/__init__.py
@@ -222,7 +222,8 @@ class Storage(object):
protected=self.protectedDevSpecs,
zeroMbr=self.zeroMbr,
passphrase=self.encryptionPassphrase,
- luksDict=self.__luksDevs)
+ luksDict=self.__luksDevs,
+ iscsi=self.iscsi)
self.fsset = FSSet(self.devicetree)
def doIt(self):
@@ -287,7 +288,8 @@ class Storage(object):
protected=self.protectedDevSpecs,
zeroMbr=self.zeroMbr,
passphrase=self.encryptionPassphrase,
- luksDict=self.__luksDevs)
+ luksDict=self.__luksDevs,
+ iscsi=self.iscsi)
self.devicetree.populate()
self.fsset = FSSet(self.devicetree)
self.anaconda.id.rootParts = None
diff --git a/storage/devices.py b/storage/devices.py
index 8658e4f31..ac1bbda98 100644
--- a/storage/devices.py
+++ b/storage/devices.py
@@ -2931,12 +2931,10 @@ class iScsiDiskDevice(DiskDevice, NetworkStorageDevice):
_packages = ["iscsi-initiator-utils"]
def __init__(self, device, **kwargs):
- self.iscsi_name = kwargs.pop("iscsi_name")
- self.iscsi_address = kwargs.pop("iscsi_address")
- self.iscsi_port = int(kwargs.pop("iscsi_port"))
+ self.node = kwargs.pop("node")
DiskDevice.__init__(self, device, **kwargs)
- NetworkStorageDevice.__init__(self, host_address=self.iscsi_address)
- log.debug("created new iscsi disk %s %s:%d" % (self.iscsi_name, self.iscsi_address, self.iscsi_port))
+ 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))
class FcoeDiskDevice(DiskDevice, NetworkStorageDevice):
diff --git a/storage/devicetree.py b/storage/devicetree.py
index 71d7a4830..b4634d958 100644
--- a/storage/devicetree.py
+++ b/storage/devicetree.py
@@ -203,7 +203,7 @@ class DeviceTree(object):
def __init__(self, intf=None, ignored=[], exclusive=[], type=CLEARPART_TYPE_NONE,
clear=[], zeroMbr=None, reinitializeDisks=None, protected=[],
- passphrase=None, luksDict=None):
+ passphrase=None, luksDict=None, iscsi=None):
# internal data members
self._devices = []
self._actions = []
@@ -217,6 +217,7 @@ class DeviceTree(object):
self.clearPartDisks = clear
self.zeroMbr = zeroMbr
self.reinitializeDisks = reinitializeDisks
+ self.iscsi = iscsi
# protected device specs as provided by the user
self.protectedDevSpecs = protected
@@ -1105,9 +1106,10 @@ class DeviceTree(object):
kwargs = {}
if udev_device_is_iscsi(info):
diskType = iScsiDiskDevice
- kwargs["iscsi_name"] = udev_device_get_iscsi_name(info)
- kwargs["iscsi_address"] = udev_device_get_iscsi_address(info)
- kwargs["iscsi_port"] = udev_device_get_iscsi_port(info)
+ kwargs["node"] = self.iscsi.getNode(
+ udev_device_get_iscsi_name(info),
+ udev_device_get_iscsi_address(info),
+ udev_device_get_iscsi_port(info))
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 51b0eb899..7c2dc36bb 100644
--- a/storage/iscsi.py
+++ b/storage/iscsi.py
@@ -299,9 +299,7 @@ class iscsi(object):
nodeDisks = []
iscsiDisks = storage.devicetree.getDevicesByType("iscsi")
for disk in iscsiDisks:
- if node.name == disk.iscsi_name and \
- node.address == disk.iscsi_address and \
- node.port == disk.iscsi_port:
+ if disk.node == node:
nodeDisks.append(disk)
return nodeDisks