Master node cannot be correctly installed from USB flash drives

Bug #1410333 reported by Miroslav Anashkin
28
This bug affects 4 people
Affects Status Importance Assigned to Milestone
Fuel for OpenStack
Fix Released
Critical
Ryan Moe
5.1.x
Invalid
Critical
Vladimir Kozhukalov
6.0.x
Fix Committed
Critical
Ryan Moe
6.1.x
Fix Released
Critical
Ryan Moe

Bug Description

VERSION:
  feature_groups:
    - mirantis
  production: "docker"
  release: "6.0"
  api: "1.0"
  build_number: "58"
  build_id: "2014-12-26_14-25-46"
  astute_sha: "16b252d93be6aaa73030b8100cf8c5ca6a970a91"
  fuellib_sha: "fde8ba5e11a1acaf819d402c645c731af450aff0"
  ostf_sha: "a9afb68710d809570460c29d6c3293219d3624d4"
  nailgun_sha: "5f91157daa6798ff522ca9f6d34e7e135f150a90"
  fuelmain_sha: "81d38d6f2903b5a8b4bee79ca45a54b76c1361b8"

Master node installation fails if installed from USB flash drive.
It finishes without any errors, except the ones in anaconda-post-after-chroot.log
Installed master node does not include properly placed Puppet manifests and is unusable.

The root cause:
Starting from Fuel 5.1 we support several OpenStack versions on the same master node.
For this, we added new openstack_version file to the ISO root directory, and its contents is used by kickstart file to create proper directories to store Puppet manifests.

USB image has the full ISO image inside and additional copy of kickstart file external to embedded ISO image.
This additional kickstart searches for openstack_version file and fails, since there is no copy of this file nearby outside the ISO image and no ISO image is mounted at the moment of this search.
As a result, malformed paths used for the remained kickstart commands.

tags: added: customer-found
Revision history for this message
Miroslav Anashkin (manashkin) wrote :

It appeared, in case of USB flash drive we attempt to read OPENSTACK_VERSION variable from mounted ISO image right 3 code lines before the actual mount happens.
Need to move this variable read 3 lines down in ks.cfg

Revision history for this message
Dmitry Borodaenko (angdraug) wrote :

No workaround provided, upgrading to Critical.

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

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

Changed in fuel:
assignee: Vladimir Kozhukalov (kozhukalov) → Ryan Moe (rmoe)
status: Triaged → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to fuel-main (master)

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

commit 2dd0d7c3f358c63e2b403fd9c7beecfcc0a3a74d
Author: Ryan Moe <email address hidden>
Date: Wed Jan 28 13:47:44 2015 -0800

    Read openstack_version file after ISO is mounted

    In the case of USB images a file that exists on the ISO
    was being read prior to the ISO actually being mounted. This
    caused invalid paths to be generated resulting in
    installation failures.

    Change-Id: Ie2e0e73d95ae71b9fa7b6406e304abc782439701
    Closes-bug: #1410333

Changed in fuel:
status: In Progress → Fix Committed
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to fuel-main (stable/6.0)

Fix proposed to branch: stable/6.0
Review: https://review.openstack.org/151063

Revision history for this message
Ryan Moe (rmoe) wrote :

Bug is invalid for 5.1 as the change that caused this behavior wasn't merged until Oct. 8th (after 5.1 was released).

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to fuel-main (stable/6.0)

Reviewed: https://review.openstack.org/151063
Committed: https://git.openstack.org/cgit/stackforge/fuel-main/commit/?id=f39ba78d418a53e3ebc9dddd540abb5fffb4986f
Submitter: Jenkins
Branch: stable/6.0

commit f39ba78d418a53e3ebc9dddd540abb5fffb4986f
Author: Ryan Moe <email address hidden>
Date: Wed Jan 28 13:47:44 2015 -0800

    Read openstack_version file after ISO is mounted

    In the case of USB images a file that exists on the ISO
    was being read prior to the ISO actually being mounted. This
    caused invalid paths to be generated resulting in
    installation failures.

    Change-Id: Ie2e0e73d95ae71b9fa7b6406e304abc782439701
    Closes-bug: #1410333

Revision history for this message
Dmitry Pyzhov (dpyzhov) wrote :

Workaround:

Vladimir Kozhukalov has created a patch script (see attachment). You just needs to download IMG file and put this script to the same directory and then just run this script with three options one by one.

sudo ./MirantisOpenStack-6.0.img.patch.sh mount
sudo ./MirantisOpenStack-6.0.img.patch.sh patch
sudo ./MirantisOpenStack-6.0.img.patch.sh umount

Revision history for this message
Vladimir Kozhukalov (kozhukalov) wrote :

3e0ad93d6c6b874478e1ea7b4f7d871a is broken. If user has this one then she needs to patch it with the script attached above.

Patched version is available here https://drive.google.com/a/mirantis.com/file/d/0BybDDjx4oqkYMzVtTzZUSlF3MDQ/view?usp=sharing Its md5 is b4b1ec2f2a12beb20eaaf6f14511d512

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

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

tags: added: release-notes
Revision history for this message
Ryan Moe (rmoe) wrote :

This issue may have been found quicker or never happened if we were able to provide a single hybrid ISO file as described here: https://bugs.launchpad.net/fuel/+bug/1387033

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

Reviewed: https://review.openstack.org/151636
Committed: https://git.openstack.org/cgit/stackforge/fuel-docs/commit/?id=b5a85dd58e03e0ebe1fd0995133b9705ddbe5c6a
Submitter: Jenkins
Branch: master

commit b5a85dd58e03e0ebe1fd0995133b9705ddbe5c6a
Author: evkonstantinov <email address hidden>
Date: Fri Jan 30 16:30:42 2015 +0300

    A patch and a fix for the incorrect 6.0 IMG file

    As a result of which installation of 6.0 from a usb
    flash drives completes without error messages,
    but the installation turns out to be a failure.

    Change-Id: I220920f3690f01f97da02c226cb91b6817dd2165
    Partial-Bug: 1410333

Revision history for this message
Alexander Bozhenko (alexbozhenko) wrote :

Just want to leave it here.
With old img error looks like the following in the end of the installation:
Error: Could not run: Could not find file /etc/puppet/modules/nailgun/examples/host-only.pp
rmdir: failed to remove `/var/log/remote': No such file or directory
/usr/local/sbin/bootstrap_admin_node.sh: line 82: dockerctl: command not found
ERROR: Fuel node deployment FAILED! Check /var/log/puppet/bootstrap_admin_node.log for details

Revision history for this message
Alexander Zatserklyany (zatserklyany) wrote :

Verified on fuel-6.1-377-2015-05-05_03-45-03.iso

tags: added: release-notes-done
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.