Root on iscsi is not supported

Bug #237460 reported by Soren Hansen
22
This bug affects 1 person
Affects Status Importance Assigned to Milestone
hw-detect (Ubuntu)
Fix Released
Undecided
Unassigned
open-iscsi (Ubuntu)
Fix Released
Undecided
Unassigned
partman-iscsi (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

Binary package hint: open-iscsi

We currently do not support root-on-iscsi.

a) hw-detect will bail out if it doesn't find any disks in the system, so it never reaches the code to activate the iscsi things in the installer.
b) open-iscsi is lacking the initramfs hooks to pull this off.

Revision history for this message
Soren Hansen (soren) wrote :

Just to fill in a bit more info:

1. The hw-detect problem should be straightforward enough, so I won't go into much depth about that.
2. The problems involing open-iscsi are many-fold:
2.a. Networking is not configured in initramfs (yet the network is clearly up since we have loaded the initramfs somehow).
2.a.I Debian "fixes" this by leeching off of nfsroot's networking code. This is rather crappy, and doesn't have installer support (but needs it).
2.a.II The open-iscsi package has code (but doesn't ship the binary, IIRC) to extract the networking info from the PXE firmware (or whereever it resides. I'm not entirely sure). IIRC, the open-iscsi web page explains how to use this.
2.b. Then the network is up, we should be able to mount the root filesystem by doing the usual iscsi stuff to get access to the block devices. This might require some udev support in the initramfs, but I actually don't think so (UUID based mounting ftw!))
2.c. When the root filesystem is mounted, and hence the network is up, we should be careful as to not nuke it, when we actually finish booting, but we should still let ifupdown configure the network properly (to get bonding running and such).

There's probably more, but that should be enough to get started working on it.

Revision history for this message
Dustin Kirkland  (kirkland) wrote :

Tim-

Can you please turn on ISCSI_IBFT and ISCSI_IBFT_FIND in the Intrepid kernel configs?

:-Dustin

Revision history for this message
malaiwah (michel-belleau) wrote :

Tried again on Jaunty (9.04) and it works fine.
a) No problems about the partition part of the installer
b) touch /etc/iscsi/iscsi.initramfs and all the iscsi initramfs hooks are there.

Revision history for this message
Soren Hansen (soren) wrote :

To clarify, the disk-detect problem is that the open-iscsi-udeb isn't loaded until *after* the loop that goes around looking for (physical) disks runs. Incidentally, that loop does an "exit 10" if there are not local disks at all, so the open-iscsi-udeb never gets loaded if the system has no physical disks.

Revision history for this message
Kevin Otte (nivex) wrote :

What needs to be done to make the open-iscsi-udeb load earlier in the install sequence so its block devices are available to disk-detect?

Sounds like the initramfs problem is solved.

As for blowing away the networking, one possible solution: if the installer knows what interface the initiator came up on, it can set that to "manual" in /etc/network/interfaces as part of its cleanup.

Revision history for this message
Colin Watson (cjwatson) wrote : Re: [Bug 237460] Re: Root on iscsi is not supported

On Thu, Jul 16, 2009 at 01:52:43AM -0000, Kevin Otte wrote:
> What needs to be done to make the open-iscsi-udeb load earlier in the
> install sequence so its block devices are available to disk-detect?

disk-detect actually loads open-iscsi-udeb itself, so it probably isn't
that simple ...

> As for blowing away the networking, one possible solution: if the
> installer knows what interface the initiator came up on, it can set that
> to "manual" in /etc/network/interfaces as part of its cleanup.

Mmm, except interface names have a habit of changing at run-time. This
probably needs to be checked at run-time too, rather than hardcoded by
the installer.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package hw-detect - 1.72ubuntu2

---------------
hw-detect (1.72ubuntu2) karmic; urgency=low

  * Default iSCSI configuration to true, and stop installing open-iscsi-udeb
    unconditionally here; partman-iscsi will take care of that. Instead,
    offer iSCSI targets as a choice if partman-iscsi is available and no
    disk devices are found, and implement compatibility with old-style
    open-iscsi/targets preseeding (LP: #237460).
  * Stop installing acpi, acpid, and acpi-support-base if acpi is available.
    Most of these are going away and desktop facilities should take care of
    whatever's left.

 -- Colin Watson <email address hidden> Mon, 10 Aug 2009 13:24:35 +0100

Changed in hw-detect (Ubuntu):
status: New → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package open-iscsi - 2.0.870.1-0ubuntu8

---------------
open-iscsi (2.0.870.1-0ubuntu8) karmic; urgency=low

  * Make sure network devices are always included in the initramfs if
    booting with / on iSCSI.
  * Retry initramfs network configuration for a while until it works (LP:
    #237460).

 -- Colin Watson <email address hidden> Tue, 11 Aug 2009 13:05:43 +0100

Changed in open-iscsi (Ubuntu):
status: New → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package partman-iscsi - 2

---------------
partman-iscsi (2) karmic; urgency=low

  * Add COPYING file, requested by Loïc Minier.
  * Record the target portal group tag for each target.
  * If / is on iSCSI, configure /etc/iscsi/iscsi.initramfs appropriately
    and, as a hacky workaround, set the default interface to "manual" in
    /etc/network/interfaces (LP: #237460).

 -- Colin Watson <email address hidden> Tue, 11 Aug 2009 13:11:11 +0100

Changed in partman-iscsi (Ubuntu):
status: New → Fix Released
Revision history for this message
Colin Watson (cjwatson) wrote :

So this set of patches isn't ideal in some ways; in particular it configures /etc/network/interfaces statically, which has the set of problems I described in comment 6. However, I think it will at least make things basically work and people can always edit /etc/network/interfaces by hand if need be (not perfect, but workable).

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.