Ubuntu boostrap uses wrong network interface to retrive the root filesystem image

Bug #1482049 reported by Aleksandr Shaposhnikov
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Mirantis OpenStack
Fix Released
High
Alexei Sheplyakov

Bug Description

The live-boot initramfs picks the first connected interface and
tries to configure it via DHCP and obtain the root filesystem image.
Depending on hardware and initialization order a wrong interface can
be chosen so the boot fails.
Another issue is that the initramfs drops into a shell on error.

Custom build:
http://mc0n2-msk.msk.mirantis.net/fuelweb-iso/fuel-gerrit-7.0-848-2015-08-05_16-19-27.iso.torrent

Revision history for this message
Aleksandr Shaposhnikov (alashai8) wrote :
description: updated
Revision history for this message
Aleksandr Shaposhnikov (alashai8) wrote :
summary: - Ubuntu bootstrap not working on some nics/networks
+ Ubuntu boostrap uses wrong network interface to retrive the root
+ filesystem image
description: updated
Changed in mos:
status: New → Confirmed
importance: Undecided → High
milestone: none → 7.0
assignee: nobody → Alexei Sheplyakov (asheplyakov)
Revision history for this message
Alexei Sheplyakov (asheplyakov) wrote :

Apparently the version 3.0.1-1 of live-boot package shipped with Ubuntu 14.04 does not wait properly for network device initialization.
Also it does not use BOOTIF argument as passed by extlinux to figure out which interface should be used in the boot process.

Revision history for this message
Fuel Devops McRobotson (fuel-devops-robot) wrote : Related fix proposed to fuel-infra/jeepyb-config (master)

Related fix proposed to branch: master
Change author: Alexei Sheplyakov <email address hidden>
Review: https://review.fuel-infra.org/10138

Revision history for this message
Fuel Devops McRobotson (fuel-devops-robot) wrote : Related fix merged to fuel-infra/jeepyb-config (master)

Reviewed: https://review.fuel-infra.org/10138
Submitter: Dmitry Burmistrov <email address hidden>
Branch: master

Commit: 7c897afc68c2402174b855892fddbb114563b701
Author: Alexei Sheplyakov <email address hidden>
Date: Thu Aug 6 09:42:27 2015

Create a repository for live-boot Ubuntu package

Ubuntu based bootstrap [1] makes use of live-boot package to build
a "live" system which boots over the network. However live-boot 3.0.1
which is shipped with Ubuntu 14.04 has a couple of limitations which
sometimes (approximately once in 6 runs) prevent the node from booting
successfully. In particular,
- live-boot does not wait properly for network device initialization,
- live-boot does not handle BOOTIF parameter passed by pxelinux to
  figure out which interface should be used for completing the boot.
These problems has been addressed in the up-to-date version of live-boot
(commits: [2], [3]).

[1] https://github.com/stackforge/fuel-specs/blob/master/specs/7.0/fuel-bootstrap-on-ubuntu.rst

[2] http://live-systems.org/gitweb/?p=live-boot.git;a=commitdiff;h=9ab5aeeecac939f82c77536a6e21b505d9841b96
[3] http://live-systems.org/gitweb/?p=live-boot.git;a=commitdiff;h=10f4622807f9f90514c15445f7ecc1a083c10289

Related-Bug: #1482049
Change-Id: I7d8014cda0aaa7e5bb8902dc4955696288ecddc8

Changed in mos:
status: Confirmed → In Progress
Revision history for this message
Alexei Sheplyakov (asheplyakov) wrote :

Updated live-boot package which presumably solves the problem: https://review.fuel-infra.org/#/c/10211

Revision history for this message
Fuel Devops McRobotson (fuel-devops-robot) wrote : Fix merged to packages/trusty/live-boot (7.0)

Reviewed: https://review.fuel-infra.org/10211
Submitter: Dmitry Burmistrov <email address hidden>
Branch: 7.0

Commit: 0816a1661a283db2d39e0e49c275a05d6a021be3
Author: Alexei Sheplyakov <email address hidden>
Date: Fri Aug 7 14:04:02 2015

Added live-boot version 4.0.2-1

Ubuntu based bootstrap [1] makes use of live-boot package to build
a "live" system which boots over the network. However live-boot 3.0.1
which is shipped with Ubuntu 14.04 has a couple of limitations which
sometimes (approximately once in 6 runs) prevent the node from booting
successfully. In particular,

- live-boot does not wait properly for network device initialization,
- live-boot does not handle BOOTIF parameter passed by pxelinux to
  figure out which interface should be used for completing the boot.

These problems have been addressed in the up-to-date version of live-boot
(commits: [2], [3]). Therefore pick live-boot 4.0.2-1 from Debian Jessie
[4], and apply a patch [2] so initramfs waits for network devices
initialization before configuring the interface.

[1] https://github.com/stackforge/fuel-specs/blob/master/specs/7.0/fuel-bootstrap-on-ubuntu.rst
[2] http://live-systems.org/gitweb/?p=live-boot.git;a=commitdiff;h=9ab5aeeecac939f82c77536a6e21b505d9841b96
[3] http://live-systems.org/gitweb/?p=live-boot.git;a=commitdiff;h=10f4622807f9f90514c15445f7ecc1a083c10289
[4] http://http.debian.net/debian/pool/main/l/live-boot/live-boot_4.0.2.orig.tar.xz
    http://http.debian.net/debian/pool/main/l/live-boot/live-boot_4.0.2-1.debian.tar.xz

Closes-Bug: #1482049

Change-Id: Icb959095af96c981bf23c329cb15825c9815334e

Revision history for this message
Alexei Sheplyakov (asheplyakov) wrote :

The updated live-boot package handles BOOTIF argument. => Marking as `Fix Committed'

Changed in mos:
status: In Progress → Fix Committed
Revision history for this message
Timur Nurlygayanov (tnurlygayanov) wrote :

Looks like the issue not reproduced in 100% cases, and I can't reproduce the issue on my QA lab with the latest MOS image (MOS 7.0 ISO #288 RC2). Status changed to Fix Released.

Changed in mos:
status: Fix Committed → Fix Released
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.