Image-based provisioning fails on nvme devices

Bug #1436038 reported by Ryan Moe
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Fuel for OpenStack
Fix Committed
High
Alexander Gordeev
6.0.x
Won't Fix
Medium
Fuel Python (Deprecated)

Bug Description

fuel-agent uses blockdev --report to gather information about disks on the system. It fails to include nvme devices.

This is the output from blockdev:

[root@bootstrap ~]# blockdev --report
RO RA SSZ BSZ StartSec Size Device
rw 256 512 4096 0 999653638144 /dev/sda
rw 256 512 4096 0 16777216 /dev/sdc

/dev/nvme0n1 is missing from that output even though it's on the system. Classic provisioning (after patching it to handle the partition separator) works fine.

Revision history for this message
Ryan Moe (rmoe) wrote :
Changed in fuel:
assignee: nobody → Fuel OSCI Team (fuel-osci)
importance: Undecided → High
milestone: none → 6.1
Roman Vyalov (r0mikiam)
Changed in fuel:
assignee: Fuel OSCI Team (fuel-osci) → MOS Linux (mos-linux)
Revision history for this message
Alexander Gordeev (a-gordeev) wrote :

> Classic provisioning (after patching it to handle the partition separator) works fine.

fuel-agent should be patched too.

tags: added: image-based provision
Revision history for this message
Alexei Sheplyakov (asheplyakov) wrote :

> Probably we just need to upgrade our version of util-linux.

Upgrading core tools (kernel, libc, bash, coreutils, util-linux) is a really bad idea (we are not forking Ubuntu).

A proper fix is to teach fuel-agent to use more sources to collect the block devices data (i.e. examining /proc/partitions, udevadm info --export-db, /sys/block/*)

Revision history for this message
Aleksander Mogylchenko (amogylchenko) wrote :

First of all, 6.1 has a huge amount of changes already. And it'll be a big risk to start forking core components in 6.1 on top of already present changes.

I also agree with Alexei that we should avoid forking core components in general (not only in 6.1) as much as possible, and try other solutions (like updating fuel-agent to use what we have, despite the bugs present).

Therefore I'm closing this as won't fix. If there is some great urgency in having this functionality exactly in 6.1 - we should probably make changes in fuel-agent in separate ticket.

Changed in fuel:
status: New → Opinion
Revision history for this message
Ryan Moe (rmoe) wrote :

That makes sense, thanks for the explanation. It definitely sounds like fuel-agent is the right place to fix this.

description: updated
Changed in fuel:
status: Opinion → New
assignee: MOS Linux (mos-linux) → Fuel provisioning team (fuel-provisioning)
Dmitry Pyzhov (dpyzhov)
tags: added: feature-image-based
removed: image-based provision
Revision history for this message
Vladimir Kozhukalov (kozhukalov) wrote :

It is definitely needs to be fixed in terms of fuel-agent. If this info (nvme disks) is available via other sources like udevadm or /proc/partitions we certainly can parse this inside fuel-agent.

Dmitry Pyzhov (dpyzhov)
Changed in fuel:
status: New → Confirmed
Dmitry Pyzhov (dpyzhov)
Changed in fuel:
assignee: Fuel provisioning team (fuel-provisioning) → Aleksandr Gordeev (a-gordeev)
tags: added: tricky
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to fuel-web (master)

Fix proposed to branch: master
Review: https://review.openstack.org/176735

Changed in fuel:
status: Confirmed → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to fuel-web (master)

Reviewed: https://review.openstack.org/176735
Committed: https://git.openstack.org/cgit/stackforge/fuel-web/commit/?id=81deaea57bbff57b7f08ded2b285e21eafb85a2e
Submitter: Jenkins
Branch: master

commit 81deaea57bbff57b7f08ded2b285e21eafb85a2e
Author: Alexander Gordeev <email address hidden>
Date: Thu Apr 23 16:27:10 2015 +0300

    [IBP] add nvme support

    Get rid of unrelialble 'blockdev' output and switch to 'udevadm info'

    Co-Authored-By: Ryan Moe <email address hidden>
    Related-Change: Ie40afcb29e31c85c2c6021187601d66321fe3a05
    Related-Change: Id2ebcaa5b1332c0e00c54440ee19e6c0cb859e00
    Change-Id: Ibfaeb20994e9a04b34d2423caa55611f2d3153e8
    Closes-Bug: #1436038

Changed in fuel:
status: In Progress → Fix Committed
Revision history for this message
Alexander Gordeev (a-gordeev) wrote :

re-assigning to fuel-python with 'ibp' tag.

tags: added: ibp
Revision history for this message
Vitaly Sedelnik (vsedelnik) wrote :

Won't Fix for 6.0-updates as IBP is not relevant for 6.0

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.