Should xenbus_probe_frontend be built-in?

Bug #857662 reported by Colin Watson on 2011-09-23
20
This bug affects 2 people
Affects Status Importance Assigned to Milestone
debian-installer (Ubuntu)
Medium
Unassigned
Natty
Undecided
Unassigned
Oneiric
Undecided
Unassigned
Precise
Medium
Unassigned
hw-detect (Ubuntu)
High
Unassigned
Natty
High
Unassigned
Oneiric
High
Unassigned
Precise
Undecided
Unassigned
linux (Ubuntu)
Undecided
Tim Gardner
Natty
Undecided
Tim Gardner
Oneiric
Undecided
Tim Gardner
Precise
Undecided
Unassigned

Bug Description

Stable update justification:

Impact: When installing in a Xen domU, the installer fails to find any network interfaces.
Development branch: Fixed in hw-detect 1.81ubuntu3 by loading xenbus_probe_frontend if we seem to be running under the Xen hypervisor. (It should not be catastrophic if we load this even under other conditions, but it should be a bit more efficient this way.)
Patch: http://bazaar.launchpad.net/~ubuntu-core-dev/hw-detect/natty-proposed/revision/1466
TEST CASE: Start up d-i in a Xen domU and run through to the point where it detects network interfaces. Without this patch, it should fail; with this patch, it should work. Note that for testing you will need to use a kernel/initrd from natty-proposed (which I'll need to upload separately after this patch is accepted), and in production after this upload is validated you'll need to use a kernel/initrd from natty-updates.
Regression potential: I think the worst thing that can plausibly happen here is an error message via debconf if the module fails to load. The /sys/hypervisor/type and /sys/bus/xen checks around this code are mainly to defend against this possibility in non-Xen installations.

Original report follows:

xenbus_probe_frontend is currently modular in several flavours, notably in the i386/generic-pae and amd64/generic flavours which we use to build d-i Xen netboot images. The purpose of xenbus_probe_frontend appears to be to connect to the Xen bus and then emit uevents for any devices it finds there. Once it's loaded, autoloading for such things as xen-netfront works fine, allowing the guest to find its network interface. I believe that xen-blkfront works in a similar way.

However, with xenbus_probe_frontend modular, the early stages of the installer plus the early stages of normal system boot need to load xenbus_probe_frontend in order to find block and network devices. If we're going to do this, it seems as though we might as well just build xenbus_probe_frontend into the kernel. It seems to me that it should be pretty harmless on non-Xen systems, although of course somebody knowledgeable should verify that.

Right now, it's built in for the -virtual flavours, but we aren't currently building installer images from that, and I think I'm happier building them directly from -generic-pae / -generic anyway.

This is true in both Natty and Oneiric. If you can't do this for Oneiric and/or are unwilling to do this in a stable update for Natty, then please let me know so that I can add a workaround to the installer in time. Thanks!

This bug is missing log files that will aid in diagnosing the problem. From a terminal window please run:

apport-collect 857662

and then change the status of the bug to 'Confirmed'.

If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.

This change has been made by an automated script, maintained by the Ubuntu Kernel Team.

Changed in linux (Ubuntu):
status: New → Incomplete
Colin Watson (cjwatson) wrote :

I don't believe log files are applicable to this, as a config change request with rationale.

description: updated
Changed in linux (Ubuntu):
status: Incomplete → Confirmed
Tim Gardner (timg-tpi) on 2011-09-23
Changed in linux (Ubuntu Natty):
status: New → Confirmed
Colin Watson (cjwatson) wrote :

I mistakenly stated that we're using amd64/server - actually it's amd64/generic. I've edited the description to match reality.

Changed in hw-detect (Ubuntu Oneiric):
status: New → Triaged
importance: Undecided → High
description: updated
Changed in hw-detect (Ubuntu Natty):
status: New → Triaged
importance: Undecided → High
Tim Gardner (timg-tpi) on 2011-09-23
Changed in linux (Ubuntu Natty):
assignee: nobody → Tim Gardner (timg-tpi)
Changed in linux (Ubuntu Oneiric):
assignee: nobody → Tim Gardner (timg-tpi)
Tim Gardner (timg-tpi) wrote :

I would prefer to _not_ enable XEN_BLKDEV_FRONTEND for kernel flavours that are not intended for virtual environments. In order to do so you must first build in one of the front end device drivers such as CONFIG_XEN_BLKDEV_FRONTEND=y or CONFIG_XEN_NETDEV_FRONTEND=y. CONFIG_XEN_XENBUS_FRONTEND=y is not a separately selectable config option.

Xen netboot images should be based on the -virtual flavour.

Colin Watson (cjwatson) wrote :

OK. So in that case you can close the linux task - thanks for the explanation, and I will deal with this in the installer.

I don't want to change the flavour that the Xen netboot images are based on a few weeks before release, especially since I can't test that myself; I will change that for P. I'll work around this in hw-detect for Natty/Oneiric, and recommend that people install the -virtual kernel flavour in the target so that we don't need to change normal userspace.

Changed in debian-installer (Ubuntu Natty):
status: New → Won't Fix
Changed in debian-installer (Ubuntu Oneiric):
status: New → Won't Fix
Changed in debian-installer (Ubuntu):
importance: Undecided → Medium
status: New → Triaged
Tim Gardner (timg-tpi) on 2011-09-23
Changed in linux (Ubuntu Natty):
status: Confirmed → Won't Fix
Changed in linux (Ubuntu Oneiric):
status: Confirmed → Won't Fix
Changed in linux (Ubuntu):
status: Confirmed → Invalid
Colin Watson (cjwatson) on 2011-09-23
description: updated
description: updated
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package hw-detect - 1.81ubuntu3

---------------
hw-detect (1.81ubuntu3) oneiric; urgency=low

  * Load xenbus_probe_frontend if we're running under the Xen hypervisor
    (LP: #857662).
 -- Colin Watson <email address hidden> Fri, 23 Sep 2011 23:21:48 +0100

Changed in hw-detect (Ubuntu Oneiric):
status: Triaged → Fix Released

Hello Colin, or anyone else affected,

Accepted hw-detect into natty-proposed, the package will build now and be available in a few hours. Please test and give feedback here. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you in advance!

Changed in hw-detect (Ubuntu Natty):
status: Triaged → Fix Committed
tags: added: verification-needed
Colin Watson (cjwatson) wrote :

I've confirmed that this fixes network interface detection in a Xen installation with apt-setup/proposed=true, and that xenbus_probe_frontend is added to /etc/initramfs-tools/modules to ensure that things work properly after installation as well.

Separately, I've confirmed that a non-Xen (in fact KVM) installation still works as normal, and doesn't have xenbus_probe_frontend loaded.

Marking verification-done.

tags: added: verification-done
removed: verification-needed
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package hw-detect - 1.81ubuntu2.1

---------------
hw-detect (1.81ubuntu2.1) natty-proposed; urgency=low

  * Load xenbus_probe_frontend if we're running under the Xen hypervisor
    (LP: #857662).
 -- Colin Watson <email address hidden> Fri, 23 Sep 2011 23:42:59 +0100

Changed in hw-detect (Ubuntu Natty):
status: Fix Committed → Fix Released
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package debian-installer - 20101020ubuntu77

---------------
debian-installer (20101020ubuntu77) precise; urgency=low

  * Bump powerpc netboot image size by a megabyte to allow for a slight
    kernel size increase.
  * Switch Xen images to the -virtual kernel flavour (LP: #857662).
 -- Colin Watson <email address hidden> Sun, 20 Nov 2011 11:15:24 +0000

Changed in debian-installer (Ubuntu Precise):
status: Triaged → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Duplicates of this bug

Other bug subscribers