[nailgun][library] PCI-express SSD drives are not supported

Bug #1372547 reported by Miroslav Anashkin on 2014-09-22
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Fuel for OpenStack
High
Vladimir Sharshov
6.0.x
High
MOS Maintenance
6.1.x
High
MOS Maintenance
7.0.x
High
Vladimir Sharshov

Bug Description

Currently Fuel supports the block devices with names like sd*, hd*, vd* with type "disk"

But Intel's PCI-ex SSD drives are named as nvmeXnY where X and Y are integer values.
Such disks appear in Fuel UI but Fuel skips these during the deployment process.

Additionally, these disks needs the drivers, available at:
https://downloadcenter.intel.com/Detail_Desc.aspx?agr=Y&ProdId=3810&DwnldID=23931&ProductFamily=Solid-State+Drives+and+Caching&ProductLine=Intel%C2%AE+High+Performance+Solid-State+Drives&ProductProduct=Intel%C2%AE+SSD+DC+P3600+Series&lang=eng

tags: added: customer-found library
Changed in fuel:
milestone: none → 6.0
Tony S. Hariman (thariman) wrote :

Under ubuntu the SSD Drivers is available after it finish the ceph-osd deployment which update the kernel to 3.11

Aleksey Kasatkin (alekseyk-ru) wrote :

Seems to be not in nailgun.

Changed in fuel:
assignee: nobody → Fuel Library Team (fuel-library)
importance: Undecided → High
Changed in fuel:
status: New → Confirmed
Vladimir Kuklin (vkuklin) wrote :

I think it is related to nailgun agent

Changed in fuel:
assignee: Fuel Library Team (fuel-library) → Fuel Python Team (fuel-python)
Dima Shulyak (dshulyak) wrote :

Is it possible to get nailgun database dump?
Actually serialized information for provisioning will help a lot too

If this disks appear on UI, then there is no problem with nailgun-agent, because this is how they are initially reported.

Changed in fuel:
status: Confirmed → Incomplete
assignee: Fuel Python Team (fuel-python) → Miroslav Anashkin (manashkin)

I think nvme disk can appear on UI because the bootstrap image that fuel used based on centos kernel (and upgraded to 3.11).
nvme driver already added to linux kernel since 3.10.

the problem is, even nvme disk can appear and configured as the other disk from fuel UI, the disk left unconfigured.
using ubuntu default image (kernel 3.2), nvme not detected yet, so the installation progress will stop. nvme disk will detected after kernel upgraded to 3.11 using preseed.
while using centos default image, nvme already detected, but the installation still fail because the kickstart partition the disk as nvmeXY. it is suppose to be nvmeXpY.
in my case, installer partition my disk become nvme01 (mimicking sda1, hda1, vda1), and it shoud be nvme0p1

Bogdan Dobrelya (bogdando) wrote :

That is a status of this bug, do we still need an additional information?

Miroslav Anashkin (manashkin) wrote :

Need to verify with updated kernel against 6.0

Miroslav Anashkin (manashkin) wrote :

We still need to verify, if this bug appears against 6.0 with its image-based provisioning and updated kernel versions.
New kernel versions may have necessary drivers integtared.
Unfortunately, we do not have such hardware under the hand.
So, postponed to the next release.

Changed in fuel:
milestone: 6.0 → 6.1
Bogdan Dobrelya (bogdando) wrote :

Miroslav, I'm adding the 6.0 milestone then as we should not move high prio bugs through the milestones

Miroslav Anashkin (manashkin) wrote :

Vova, please check

>>but the installation still fail because the kickstart partition the disk as nvmeXY. it is suppose to be nvmeXpY.
in my case, installer partition my disk become nvme01 (mimicking sda1, hda1, vda1), and it shoud be nvme0p1<<

Dmitry Pyzhov (dpyzhov) on 2015-02-19
no longer affects: fuel/6.1.x
Miroslav Anashkin (manashkin) wrote :

We probably will not be able to deliver fix with 6.0.1, since we still did not get the required hardware..

Pavel Chekin (pchekin) wrote :

We have received relevant hardware to MV office and tested it against MOS 6.0. Ubuntu deployment hadn't finished for a node with HDD and PCE Express SSD, see attached remote logs. Let me know what information you need from the environment.

Pavel Chekin (pchekin) wrote :
Pavel Chekin (pchekin) wrote :

I think a root cause of the issue id the following code in fuel-library/deployment/puppet/cobbler/templates/scripts/pmanager.py:

    def _pseparator(self, devname):
        pseparator = ''
        if devname.find('cciss') >= 0:
            pseparator = 'p'
        return pseparator

There is a special case for cciss drives and we need the same code for nvme drives to return "p" as partition delimiter in this case:

        if devname.find('cciss') >= 0 or devname.find('nvme') >= 0:

However, to avoid such special cases in future, we need to find more reliable way to get partition names for the specified device.

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

Changed in fuel:
assignee: Vladimir Kozhukalov (kozhukalov) → Ryan Moe (rmoe)
status: Confirmed → In Progress
Ryan Moe (rmoe) wrote :

These drives don't work in 6.1 with classic provisioning and Ubuntu (even with the anove changes). /dev/disk/by-path/ links do not exist there so no partitions are created.

root@node-7:~# udevadm test-builtin path_id /sys/block/nvme0n1
calling: test-builtin
=== trie on-disk ===
tool version: 204
file size: 5661386 bytes
header size 80 bytes
strings 1265626 bytes
nodes 4395680 bytes
load module index
unload module index

root@node-7:~# udevadm test-builtin path_id /sys/block/sda
calling: test-builtin
=== trie on-disk ===
tool version: 204
file size: 5661386 bytes
header size 80 bytes
strings 1265626 bytes
nodes 4395680 bytes
load module index
ID_PATH=pci-0000:02:0e.0-scsi-0:2:0:0
ID_PATH_TAG=pci-0000_02_0e_0-scsi-0_2_0_0
unload module index

Vladimir Kuklin (vkuklin) wrote :

Could it be a duplicate of https://bugs.launchpad.net/fuel/+bug/1434028 then ?

No.
1434028 is about the /dev/disk/by-path/ link removed in Ubuntu 14.04

1372547 is about NVME (PCIe) disk devices support

On Wed, Apr 1, 2015 at 2:21 PM, Vladimir Kuklin <email address hidden>
wrote:

> Could it be a duplicate of https://bugs.launchpad.net/fuel/+bug/1434028
> then ?
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/1372547
>
> Title:
> [nailgun][library] PCI-express SSD drives are not supported
>
> Status in Fuel: OpenStack installer that works:
> In Progress
> Status in Fuel for OpenStack 6.0.x series:
> Confirmed
>
> Bug description:
> Currently Fuel supports the block devices with names like sd*, hd*,
> vd* with type "disk"
>
> But Intel's PCI-ex SSD drives are named as nvmeXnY where X and Y are
> integer values.
> Such disks appear in Fuel UI but Fuel skips these during the deployment
> process.
>
> Additionally, these disks needs the drivers, available at:
>
> https://downloadcenter.intel.com/Detail_Desc.aspx?agr=Y&ProdId=3810&DwnldID=23931&ProductFamily=Solid-State+Drives+and+Caching&ProductLine=Intel%C2%AE+High+Performance+Solid-State+Drives&ProductProduct=Intel%C2%AE+SSD+DC+P3600+Series&lang=eng
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/fuel/+bug/1372547/+subscriptions
>

--

*Kind Regards*

*Miroslav Anashkin**L2 support engineer**,*
*Mirantis Inc.*
*+7(495)640-4944 (office receptionist)*
*+1(650)587-5200 (office receptionist, call from US)*
*35b, Bld. 3, Vorontsovskaya St.*
*Moscow**, Russia, 109147.*

www.mirantis.com

<email address hidden>

Dmitry Borodaenko (angdraug) wrote :

Vladimir, please review https://review.openstack.org/168504. Reassigned this bug to you since Ryan won't be around to look at this bug until 4/16.

Changed in fuel:
assignee: Ryan Moe (rmoe) → Vladimir Sharshov (vsharshov)

Reviewed: https://review.openstack.org/167392
Committed: https://git.openstack.org/cgit/stackforge/fuel-library/commit/?id=be671a46426fb214cccfd1b0d7dd5e97f04a317d
Submitter: Jenkins
Branch: master

commit be671a46426fb214cccfd1b0d7dd5e97f04a317d
Author: Ryan Moe <email address hidden>
Date: Mon Mar 23 16:23:24 2015 -0700

    Add support for nvme devices to pmanager

    nvme devices show up as e.g. nvme0n1p3. _pseparator needs
    to return a 'p' separator for these devices.

    Change-Id: Id2ebcaa5b1332c0e00c54440ee19e6c0cb859e00
    Closes-bug: #1372547

Changed in fuel:
status: In Progress → Fix Committed

We definitely need to backport this into fuel_agent

Reviewed: https://review.openstack.org/168504
Committed: https://git.openstack.org/cgit/stackforge/fuel-astute/commit/?id=92a8940aca60902668c9e962b755d02742fbbe5f
Submitter: Jenkins
Branch: master

commit 92a8940aca60902668c9e962b755d02742fbbe5f
Author: Ryan Moe <email address hidden>
Date: Thu Mar 26 13:18:17 2015 -0700

    Correctly erase partitions containing a 'p' in their name

    The previous glob would fail to match partitions names that
    contained a 'p' in them. Partitions would not be erased when
    using cciss or nvme devices. nvme devices also have a major
    number of 259 (only in 2.6 kernels) which has been added to
    STORAGE_CODES.

    Change-Id: Ie40afcb29e31c85c2c6021187601d66321fe3a05
    Related-bug: #1372547

Andrew Woodward (xarses) on 2015-08-20
no longer affects: fuel/6.0-updates
no longer affects: fuel/6.0.x
Vitaly Sedelnik (vsedelnik) wrote :

Won't Fix for 6.0-updates because there is no way to deliver Fuel fixes for MOS 6.0
Based on the time of commit the fix landed to 6.1 so Invalid for 6.1.x

Roman Rufanov (rrufanov) on 2015-09-16
tags: added: support
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers