Impossible to install master node to HP with Smart Array RAID hardware

Bug #1312311 reported by Miroslav Anashkin on 2014-04-24
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Fuel for OpenStack
High
Dmitry Borodaenko

Bug Description

Fuel installation kickstart fails on drives, connected to HP Smart Array controllers.
It affects the whole HP Pxxx RAID controllers lineup.
As a result, it is completely impossible to install master node to the disk, connected to one of Pxxx controllers

Details:
HP Smart Array controllers report connected devices as /sys/block/cciss!cxdx
Please note the exclamation sign "!" in the device name.

The following template, line 27:
https://github.com/stackforge/fuel-main/blob/stable/4.1/iso/ks.template
parses the drive names and removes the exclamation sign from device names.
Such exclamation mark removal is mandatory for further work with the drive inside Python code.

However, when we calculate the drive size in the same file, line 73 (line 68 in stable/4.1 branch), we make substitution like
tgtdrivesize=$(( $(cat "/sys/class/block/${tgtdrive}/size")

This substitution is incorrect. At this point ${tgtdrive} has exclamation mark "!" removed from the drive name and this variable cannot be used no more to address the target drive in /sys/class/block directory.

tags: added: backports-4.1.1
Changed in fuel:
assignee: nobody → Dmitry Borodaenko (dborodaenko)

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

Changed in fuel:
status: Triaged → In Progress

Reviewed: https://review.openstack.org/90201
Committed: https://git.openstack.org/cgit/stackforge/fuel-main/commit/?id=220e09073f75809ceae38a1de9828aee3835b10c
Submitter: Jenkins
Branch: stable/4.1

commit 220e09073f75809ceae38a1de9828aee3835b10c
Author: Dmitry Borodaenko <email address hidden>
Date: Thu Apr 24 12:03:37 2014 -0700

    Don't replace "!" with "/" for cciss until after size calculation

    We use /sys/class/block/${tgtdrive}/size to calculate target drive size.
    Unlike device files in /dev, paths in /sys have "!" instead of "/", so
    the substitution should not be made until we're done with /sys.

    Change-Id: If88c311ceb41e6e3e00ef7e536329477d4243ea7
    Closes-bug: #1312311

Reviewed: https://review.openstack.org/90197
Committed: https://git.openstack.org/cgit/stackforge/fuel-main/commit/?id=a6a6ff80e3c7cb778403fc5537e6bd7dc1b992cd
Submitter: Jenkins
Branch: master

commit a6a6ff80e3c7cb778403fc5537e6bd7dc1b992cd
Author: Dmitry Borodaenko <email address hidden>
Date: Thu Apr 24 12:03:37 2014 -0700

    Don't replace "!" with "/" for cciss until after size calculation

    We use /sys/class/block/${tgtdrive}/size to calculate target drive size.
    Unlike device files in /dev, paths in /sys have "!" instead of "/", so
    the substitution should not be made until we're done with /sys.

    Change-Id: If88c311ceb41e6e3e00ef7e536329477d4243ea7
    Closes-bug: #1312311

Changed in fuel:
status: In Progress → Fix Committed
Changed in fuel:
milestone: 5.0 → 4.1.1
Mike Scherbakov (mihgen) on 2014-05-08
tags: added: release-notes
Meg McRoberts (dreidellhasa) wrote :

Added to Fixed Issues in 5.0 Release Notes.

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

Other bug subscribers