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
Just wanted to note that check_for_iscsi code is already present on newton, so this customization is only needed for OSP8.
I created bug https://bugs.launchpad.net/tripleo/+bug/1655681 to reflect the need for ramdisk update, either in deployment image and later on the initramfs
https://review.openstack.org/#/c/419486
Also need to clarify that this is needed on the ironic-python-image, not in overcloud-full
I need feedback on https://review.openstack.org/420765 , that is adding an element to update dracut in the agent and enable drivers
Review of the patch was done by Yuval
Patch landed
The latest puddle includes that patch.
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