Description of problem:
be2iscsi driver is not included in introspection and boot initramfs images for overcloud
Version-Release number of selected component (if applicable):
How reproducible:
Introspection fails on diskless nodes with iscsi attached root disk when using default introspection image
Additional info:
Issue was solved by rebuilding the introspection and boot images using DIB.
drivers atted to images:
be2iscsi
dm_multipath
iscsi_target_mod
rpm's added to overcloud image:
iscsi-initiator-utils
openstack-ironic-python-agent
Patch added to ironic_python_agent:
--- /lib/python2.7/site-packages/ironic_python_agent/hardware.py 2016-07-18 22:02:53.668820422 -0400
+++ /lib/python2.7/site-packages/ironic_python_agent/hardware.py 2016-07-18 14:40:33.578307259 -0400
@@ -52,6 +52,27 @@
except IOError:
LOG.warning("Can't find the device vendor for device %s", dev)
+def _check_for_iscsi():
+ """iscsi detection
+ iscsistart -f will print the iBFT or OF info.
+ In case such connection exists, we would like to issue
+ iscsistart -b to create a session to the target.
+ - if no connection is detected we simply return.
+ """
+ if os.path.exists('/var/run/iscsistart.pid'):
+ return
+ else :
+ utils.execute('/bin/touch','/var/run/iscsistart.pid')
+ try:
+ utils.execute('iscsistart', '-f')
+ except processutils.ProcessExecutionError as e:
+ LOG.info('No iscsi connection detected. Skipping iscsi.')
+ return
+ try:
+ utils.execute('iscsistart', '-b')
+ except processutils.ProcessExecutionError as e:
+ LOG.warning('Something went wrong executing iscsistart -b'
+ 'Error: %s', e)
def _udev_settle():
"""Wait for the udev event queue to settle.
@@ -383,6 +404,7 @@
def evaluate_hardware_support(self):
# Do some initialization before we declare ourself ready
+ _check_for_iscsi()
self._wait_for_disks()
return HardwareSupport.GENERIC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.
For information on the advisory, and where to find the updated
files, follow the link below.
If the solution does not work for you, open a new bug report.
https://access.redhat.com/errata/RHEA-2017:1245