Cciss seperator support regressions in 4.1

Bug #1291692 reported by Andrew Woodward
18
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Fuel for OpenStack
Fix Committed
High
Vladimir Kozhukalov

Bug Description

In some code re-factors from 4.0 to 4.1 we lost proper support for cciss devices again

the issue again crops up from two places.

1) /sys/block uses cciss!c0d0 while /dev uses cciss/c0d0
2) the disk to partation separator (p c0d0p1) isn't always being referenced correctly.

for 1, we changed nailgun agent again and the and ! isn't being replaced with / properly again. This causes bad data in nailgun which breaks pmanager and erase_node.

for 2, also appears to be from nailgun agent change, the p separator test in pmanager has regressed as well and needs to be repaired

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix proposed to fuel-library (master)

Related fix proposed to branch: master
Review: https://review.openstack.org/80128

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/80344

Changed in fuel:
assignee: Andrew Woodward (xarses) → Vladimir Kozhukalov (kozhukalov)
status: Triaged → In Progress
Revision history for this message
Miroslav Anashkin (manashkin) wrote :

These 2 change requests are also made for this bug:

https://review.openstack.org/#/c/79809

https://review.openstack.org/#/c/79807

Revision history for this message
Andrew Woodward (xarses) wrote :

yum install -y patch
#download this patch
cd /usr/lib/python2.6/site-packages/cobbler
patch -p6 </root/001-pymanager.patch
cobbler sync

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix merged to fuel-library (master)

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

commit e8ed94478444c6472ed1caddd09709ac34bad566
Author: Hongxin Liang <email address hidden>
Date: Wed Mar 12 00:32:05 2014 +0100

    Fix searching for cciss substring error

    find() may return 0 if the string starts with "cciss"

    Related-bug: #1291692
    Change-Id: Iab25baa22e33274513f68ada64ba24eeca9c576e

Revision history for this message
Denis Ipatov (dipatov) wrote :

For Fuel 4.1

Install MirantisOpenStack 4.1, and the patch https://drive.google.com/file/d/0BxTNdnj6Yn5fYTBGVGRBSnJpVXM/edit?usp=sharing ( fuel_initramfs_debug), plus modifications in the pmanager.py.

First, the hdparm does not work with anything because some partitions are already mounted and swap is on when it gets invoked.
Second, our hack is to mount/umount the partitions before this gets invoked.

In the file pmanager.py:

look for self.umount_target() calls, self.mount_target() calls, and the two functions:

def umount_target(self):
        self.log_lvm("umount everything", False)

        for disk in self.iterdisks():
            self.late("umount /target/dev /target/sys /target/proc /target/boot /target")
            self.late("umount {0}{1}3".format(self._disk_dev(disk),
                                              self._pseparator(disk["id"])))
            self.late("swapoff {0}{1}4".format(self._disk_dev(disk),
                                               self._pseparator(disk["id"])))

    def mount_target(self):
        for disk in self.iterdisks():
            self.late("mount {0}{1}3 /target".format(self._disk_dev(disk),
                                                     self._pseparator(disk["id"])))
            self.late("mount {0}{1}2 /target/boot".format(self._disk_dev(disk),
                                                          self._pseparator(disk["id"])))
            self.late("mount -t proc none /target/proc")
            self.late("mount -o bind /dev /target/dev")
            self.late("mount -o bind /sys /target/sys")
            self.late("swapon {0}{1}4".format(self._disk_dev(disk),
                                              self._pseparator(disk["id"])))

But we do not think this is a viable solution.

A clean patch would be great!

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to fuel-web (master)

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

commit bad7388fd93492528b024dea70caacae85d1df6e
Author: Vladimir Kozhukalov <email address hidden>
Date: Thu Mar 13 21:07:05 2014 +0400

    Fixed searching by-path and by-id links for cciss

    The problem was that we try to find by-path and by-id
    links comparing them with cciss!c0d0 instead of cciss/c0d0.

    Change-Id: I2ba76ff615cd94dfef8a275779a1fb917ec70150
    Closes-Bug: #1291692

Changed in fuel:
status: In Progress → Fix Committed
Revision history for this message
Vladimir Kuklin (vkuklin) wrote :

Fix must be merged into stable/4.1 also

Changed in fuel:
status: Fix Committed → In Progress
Revision history for this message
Vladimir Kozhukalov (kozhukalov) wrote :
Changed in fuel:
status: In Progress → Fix Committed
Revision history for this message
Vladimir Kuklin (vkuklin) wrote :

Vladimir, please, create the backport and request it to stable/4.1

Changed in fuel:
status: Fix Committed → Triaged
Revision history for this message
Vladimir Kuklin (vkuklin) wrote :

The goal is to make launchpad manage updates of bug status after the code is merged.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to fuel-web (stable/4.1)

Fix proposed to branch: stable/4.1
Review: https://review.openstack.org/84524

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

Reviewed: https://review.openstack.org/84524
Committed: https://git.openstack.org/cgit/stackforge/fuel-web/commit/?id=a67487ec44be57787a73acb03eb2191327693926
Submitter: Jenkins
Branch: stable/4.1

commit a67487ec44be57787a73acb03eb2191327693926
Author: Vladimir Kozhukalov <email address hidden>
Date: Thu Mar 13 21:07:05 2014 +0400

    Fixed searching by-path and by-id links for cciss

    The problem was that we try to find by-path and by-id
    links comparing them with cciss!c0d0 instead of cciss/c0d0.

    Change-Id: I2ba76ff615cd94dfef8a275779a1fb917ec70150
    Closes-Bug: #1291692

Dmitry Pyzhov (dpyzhov)
Changed in fuel:
status: In Progress → Fix Committed
Revision history for this message
Openstack Gerrit (openstack-gerrit) wrote : Related fix proposed to fuel-library (stable/4.1)

Related fix proposed to branch: stable/4.1
Review: https://review.openstack.org/90255

Revision history for this message
Openstack Gerrit (openstack-gerrit) wrote : Related fix merged to fuel-library (stable/4.1)

Reviewed: https://review.openstack.org/90255
Committed: https://git.openstack.org/cgit/stackforge/fuel-library/commit/?id=d897bb387008abc5f2a5fd4e4b6e79a9931e32a9
Submitter: Jenkins
Branch: stable/4.1

commit d897bb387008abc5f2a5fd4e4b6e79a9931e32a9
Author: Hongxin Liang <email address hidden>
Date: Wed Mar 12 00:32:05 2014 +0100

    Fix searching for cciss substring error

    find() may return 0 if the string starts with "cciss"

    Related-bug: #1291692
    Change-Id: Iab25baa22e33274513f68ada64ba24eeca9c576e

Mike Scherbakov (mihgen)
tags: added: release-notes
Revision history for this message
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  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

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