Bug 1445451 - [RFE] introspection should report /dev/disk/by-path name of block devices
Summary: [RFE] introspection should report /dev/disk/by-path name of block devices
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: openstack-ironic-python-agent
Version: 10.0 (Newton)
Hardware: Unspecified
OS: Unspecified
Target Milestone: Upstream M1
: 13.0 (Queens)
Assignee: Ilya Etingof
QA Contact: mlammon
Whiteboard: PerfScale
Depends On:
Blocks: 1475550 1565295
TreeView+ depends on / blocked
Reported: 2017-04-25 16:49 UTC by Ben England
Modified: 2018-06-27 13:31 UTC (History)
16 users (show)

Fixed In Version: python-ironic-lib-2.12.0-0.20180213172054.831c55b openstack-ironic-python-agent-3.2.1-0.20180213101430.a13b555.el7ost
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
: 1565295 (view as bug list)
Last Closed: 2018-06-27 13:29:27 UTC
Target Upstream Version:

Attachments (Terms of Use)

System ID Priority Status Summary Last Updated
Launchpad 1679726 None None None 2017-04-26 18:16:12 UTC
OpenStack gerrit 498489 None master: MERGED ironic-python-agent: Report /dev/disk/by-path on inspection (I09874f19890500d352521f89573e2aaf50a29022) 2018-03-21 13:53:11 UTC
OpenStack gerrit 500524 None master: MERGED ironic-lib: Added `by_path` root device hint (I6f1c6b5ec5face7180aeb2d1aeebe50a6eb33f24) 2018-03-21 13:53:04 UTC
Red Hat Product Errata RHEA-2018:2086 None None None 2018-06-27 13:31:00 UTC

Description Ben England 2017-04-25 16:49:16 UTC
Description of problem:

This is a problem described in upstream ironic bug


(plz check that I assigned to right component, I wasn't sure)

It impacts any Ceph deployment which must be done by RHOSP director, including but not limited to HCI.  Specifically in the scale lab configuration we have found it necessary to use /dev/disk/by-path names for Ceph OSD devices in YAML deployment configuration files in order to get HCI deploys to work reliably.  We expect this to happen in other hardware configurations as well, because Linux does not guarantee stability of block device names (i.e. /dev/sd*[a-z]) across reboots.  However, introspection does not report /dev/disk/by-path/ names - consequently it becomes a catch-22 where you have to deploy in order to deploy ;-)  When introspection is running, it can easily look in /dev/disk/by-path/ tree and find the softlink pointing to a particular block device and report that, and this would enable admins to generate YAML files that will work for RHOSP-director Ceph deployments first time and every time.

Version-Release number of selected component (if applicable):

RHOSP 10 GA (Newton) is where we first noticed this problem.

How reproducible:

every time.

Steps to Reproduce:
1. do an introspection 
2. openstack baremetal node save <uuid>

Actual results:

no /dev/disk/by-path info reported for each block device
Expected results:

include block device's /dev/disk/by-path name. 

Additional info:


Comment 2 Ben England 2017-04-27 20:34:21 UTC
posted a potential patch here.


Comment 4 Ilya Etingof 2017-08-28 17:19:15 UTC
Implementation largely based on Ben's patch (thank you!): https://review.openstack.org/#/c/498489/

Comment 5 Ben England 2017-09-08 14:37:32 UTC
Ilya, Thank you for helping to get this feature added. -ben

Comment 12 Bob Fournier 2018-04-09 21:23:18 UTC
In puddle 2018-04-06.1


(undercloud) [stack@host01 ~]$ openstack overcloud node introspect --all-manageable --provide
followed by:
(undercloud) [stack@host01 ~]$ openstack baremetal introspection data save host2 | jq .inventory.disks
    "size": 599550590976,
    "serial": "6b083fe0d2d0eb001bd2cc7e0fc68486",
    "wwn": "0x6b083fe0d2d0eb00",
    "rotational": true,
    "vendor": "DELL",
    "name": "/dev/sda",
    "wwn_vendor_extension": "0x1bd2cc7e0fc68486",
    "hctl": "0:2:0:0",
    "wwn_with_extension": "0x6b083fe0d2d0eb001bd2cc7e0fc68486",
    "by_path": "/dev/disk/by-path/pci-0000:01:00.0-scsi-0:2:0:0",  <===
    "model": "PERC H710"

So it looks like the by_path info is there.

Comment 16 errata-xmlrpc 2018-06-27 13:29:27 UTC
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.


Note You need to log in before you can comment on or make changes to this bug.