Ubuntu

open-iscsi user-space does not match kernel module version

Reported by Daniel Hasler on 2008-10-26
46
This bug affects 5 people
Affects Status Importance Assigned to Milestone
Release Notes for Ubuntu
Undecided
Robbie Williamson
open-iscsi (Ubuntu)
Critical
Mathias Gug
Intrepid
Critical
Unassigned

Bug Description

Binary package hint: open-iscsi

Starting with kernel 2.6.27-6, the open-iscsi user-space version seemd not to match the kernel modules anymore.
After starting iscsid with "/etc/init.d/open-iscsi start", I could not list the iscsi session with "iscsiadm -m session", but got the following error:
iscsiadm: Could not get host for sid 1.
iscsiadm: could not get host_no for session 6.
iscsiadm: could not find session info for session1
iscsiadm: Can not get list of active sessions (6)

Digging somewhat deeper (intensive googling), I found that someone had the same error before, when the sysfs layout for iscsi information changed.

I then downloaded the current open-iscsi sources (870rc3) and it started to work again.

The current open-iscsi version shipped with ubuntu 8.10 is 865 - does this match the kernel modules?

Related branches

Rick Clark (dendrobates) on 2008-10-27
Changed in open-iscsi:
assignee: nobody → kirkland
importance: Undecided → Critical
status: New → Triaged
Mathias Gug (mathiaz) wrote :

Dropping the importance. The option to display all active sessions and connections doesn't work but open-iscsi is working in intrepid (iscsi block devices can be created, mounted and files created on the initiator). Not release critical.

Seems like a good candidate for a SRU.

Changed in open-iscsi:
importance: Critical → High
milestone: none → intrepid-updates
Daniel Hasler (daniel-hasler) wrote :

My observation is, that iscsi is working as long as I have only one session to one target. But as soon as I have multiple sessions, iscsid will overwrite my first session, bringing down all iscsi sessions. This is due to the same reasons iscsiadm is not able to list all my sessions.

Only resolution for me was to compile open-iscsi 870rc3 and to replace iscsid and iscsiadm.

Mathias Gug (mathiaz) wrote :
Download full text (5.5 KiB)

The diffstat between 865 and the 870~rc3 (in debian) is quit large:

 .gitignore | 1
 Changelog | 12
 Makefile | 24
 README | 280 +++-
 debian/README.Debian | 59
 debian/changelog | 74 -
 debian/control | 25
 debian/dirs | 8
 debian/extra/initramfs.hook | 31
 debian/extra/initramfs.local-top | 100 +
 debian/iscsistart.8 | 54
 debian/manpages | 2
 debian/open-iscsi-udeb.dirs | 5
 debian/open-iscsi-udeb.finish-install | 16
 debian/open-iscsi-udeb.install | 1
 debian/open-iscsi-udeb.postinst | 34
 debian/open-iscsi-udeb.start | 18
 debian/open-iscsi-udeb.templates | 7
 debian/open-iscsi.dirs | 6
 debian/open-iscsi.init | 74 -
 debian/open-iscsi.postinst | 14
 debian/rules | 33
 debian/umountiscsi.sh.init | 51
 doc/iscsi_discovery.8 | 41
 doc/iscsiadm.8 | 63
 doc/iscsid.8 | 4
 etc/initd/boot.suse | 82 +
 etc/initd/initd.debian | 9
 etc/initd/initd.redhat | 18
 etc/initd/initd.suse | 100 +
 etc/iscsid.conf | 52
 include/fw_context.h | 46
 include/iscsi_if.h | 23
 include/iscsi_proto.h | 18
 kernel/.gitignore | 10
 kernel/2.6.13-compat.patch | 97 -
 kernel/2.6.14-19_compat.patch | 589 ++++++++
 kernel/2.6.14-and-2.6.15-compat.patch | 97 -
 kernel/2.6.16-18_compat.patch | 148 --
 kernel/2.6.16-suse.patch | 864 ++++++++++++
 kernel/2.6.19_compat.patch | 74 -
 kernel/2.6.20-21_compat.patch | 278 ++++
 kernel/2.6.24_compat.patch | 44
 kernel/2.6.26_compat.patch | 94 +
 kernel/Makefile | 72 -
 kernel/iscsi_tcp.c | 2199 +++++++++++++-------------------
 kernel/iscsi_tcp.h | 134 -
 kernel/libiscsi.c | 1266 ++++++++++++------
 kernel/libiscsi.h | 122 +
 kernel/scsi_transport_iscsi.c | 642 ++++++---
 kernel/scsi_transport_iscsi.h | 49
 test/regression.sh | 26
 usr/.gitignore | 3
 usr/Makefile | 17
 usr/actor.c | 103 -
 usr/actor.h | 14
 usr/config.h | 13
 usr/discovery.c | 263 +--
 usr/idbm.c | 719 ++++++----
 usr/idbm.h | 41
 usr/iface.c | 712 ++++++++++
 usr/iface.h | 56
 usr/initiator.c | 1676 ++++++++++++------------
 usr/initiator.h ...

Read more...

Rick Clark (dendrobates) on 2008-10-27
Changed in open-iscsi:
importance: High → Critical
milestone: intrepid-updates → ubuntu-8.10
status: Triaged → Confirmed
Mathias Gug (mathiaz) wrote :

Using 2.0.870~rc3-0.2, I was able to get the block devices working correctly.

However iscsiadm -m session still fails:

mathiaz@t-iclient:~$ sudo iscsiadm -m session
iscsiadm: Could not get host for sid 1.
iscsiadm: could not get host_no for session 6.
iscsiadm: could not find session info for session1
iscsiadm: Could not get host for sid 2.
iscsiadm: could not get host_no for session 6.
iscsiadm: could not find session info for session2
iscsiadm: Could not get host for sid 3.
iscsiadm: could not get host_no for session 6.
iscsiadm: could not find session info for session3
iscsiadm: Can not get list of active sessions (6)

Thierry Carrez (ttx) wrote :

Debian's 2.0.870~rc3-0.2 is in fact mostly 869. Apparently there was a screwup at 2.0.870~rc3-0.1 where the version was incremented without unpacking the new sources, resulting in a huge backward diff.gz that basically made 870~rc3-0.1 the same as 869. At 870~rc3-0.2 they reverted two of the most obvious files (i.e. version.h) but it is still mostly 869.

That would explain why Mathias using 2.0.870~rc3-0.2 doesn't fix the problem while Daniel compiling 870-rc3 from source does.

Rick Clark (dendrobates) on 2008-10-27
Changed in open-iscsi:
status: Confirmed → In Progress
Dustin Kirkland  (kirkland) wrote :

Mathias, et al-

I've spent the entire day on this issue.

As Thierry has identified, most of Debian's diff.gz is undoing something they should not have done, and arbitrarily inflates the tarball.

Per discussion with Soren, I have taken the 870-rc3 tarball directly from open-iscsi's website, and added Ubuntu's 865 diff.gz to it. A couple of minor build tweaks, and I have built the package.

With Etienne's help, we've regression tested as best as we could. And I've verified that "iscsiadm -m session" works:

    ubuntu@intrepid-iscsi-initiator:~/dustin$ iscsiadm -m session
    tcp: [1] 192.168.4.146:3260,1 iqn.2008-10.com.canonical.montreal.intrepid-iscsi-target:nas0.sdb

The current state of my work is in my PPA.

I've discussed this a bit with slangasek in #ubuntu-devel. He, like Soren and I, are not terribly comfortable with uploading a completely new version of open-iscsi 2 days before final GA of Intrepid.

But you're at the Release Sprint in London. Hopefully you discuss the issue and the fix with the other developers there. You can take this work and decide what the appropriate response is, upload or deferral for SRU.

Thanks,
:-Dustin

Changed in open-iscsi:
assignee: kirkland → mathiaz
Mathias Gug (mathiaz) wrote :

After discussions with colin and steve, it was decided to not include this update in the release. Instead we'll focus on providing an Stable Release Update. This regression should be documented in the Intrepid release notes though.

Changed in open-iscsi:
milestone: ubuntu-8.10 → none
Mathias Gug (mathiaz) wrote :

Draft for the release notes section:

Mounting multiple iscsi targets at the same time is currently not supported. Systems configured to use more than one iscsi targets should not be upgraded to Intrepid.

Robbie Williamson (robbiew) wrote :

Updated Intrepid release notes with text above.

Changed in ubuntu-release-notes:
assignee: nobody → robbie.w
status: New → Fix Released
Graeme (unit3) wrote :

Any update on when we'll see an updated package for this issue?

On Tue, Nov 25, 2008 at 2:27 PM, Graeme Humphries <email address hidden> wrote:
> Any update on when we'll see an updated package for this issue?

We're currently working on getting a working, merged package for Jaunty.

As soon as we finish that, we can begin the process for extracting the
bits we need and backporting it to Intrepid for an SRU.

--
:-Dustin

Launchpad Janitor (janitor) wrote :
Download full text (5.4 KiB)

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

---------------
open-iscsi (2.0.870.1-0ubuntu1) jaunty; urgency=low

  * New upstream release:
   - Support 2.6.26/27 kernels (LP: #289470).
   - Fix iscsid shutdown (LP: #181188).
  * Merge from Debian. Remaining Ubuntu changes:
   - Note: Debian version isn't 870~rc3 but 869.2 which leads to a big
     .diff.gz file. Only files in debian/ have been considered for this merge
     since debian hasn't patched the source.
   - debian/control, debian/rules, debian/open-iscsi-udeb*:
     + Add open-iscsi-udeb.
   - debian/open-iscsi.dirs:
     + rename dirs to open-iscsi.dirs because of open-iscsi-udeb addition.
     + drop network/if-up.d/ directory since we're using symlinks instead.
     + utilities installed in /bin,/sbin rather than /usr/bin,/usr/sbin.
   - debian/open-iscsi.init:
     + utilities installed in /bin,/sbin rather than /usr/bin,/usr/sbin.
     + lsb log messages.
     + Don't generate initiatorname name (moved to postinst).
     + Support for being called from ifup/ifdown scripts.
     + Refactor start functions:
       - move daemon start to startdaemon function.
       - call udevadm settle rather then udevsettle (which doesn't do anything
         useful).
       - don't exit if the daemon is already running during sanitychecks.
         Instead check in startdaemon if the daemon needs to be started.
       - only start automatic targets if necessary.
       - add waitfordevices function: called during rcS, waits for all
         automatic targets to be ready. Iscsi targets are considered as
         local block devices - they don't need to be marked with _netdev in
         fstab. (LP: #227848)
       - start targets if not run from rcS.
     + Check status of iscsid daemon in addition to listing the iscsi sessions
       when status action is called.
     + Add iscsid to the list of processes that should not be killed by
       sendsigs during shutdown (LP: #192080).
     + Add starttargets, stoptargets and restarttargets to usage message.
   - debian/rules:
     + Install utilities /bin,/sbin rather than /usr/bin,/usr/sbin.
     + Start open-iscsi at S25 (waiting for devices created by ifupdown
       calls and before local filesystems are checked and mounted)
     + stop at S41 (after local filesystems are unmounted). Don't use
       umountiscsi.sh script from debian. (LP: #192080).
   - debian/initiatorname.iscsi, debian/open-iscsi.postinst:
     + Generate the random initiatorname during postinstall rather than in the
     init script.
     + Don't ship a default initiatorname.iscsi file.
   - debian/open-iscsi.postinst:
     + fix init script ordering on upgrades.
   - debian/open-iscsi.links:
     + symlink open-iscsi init script in if-up.d and if-down.d directory so
       that the iscsi subsystem is started/stopped when network interfaces
       are configured.
   - debian/open-iscsi.postrm:
     + delete iscsi configuration when the package is purged.
   - utils/iscsi_discovery: De-bashify iscsi_discovery.
   - usr/idbm.c: Fix build failure with new glibc. LP: #299843.
  * Dropped:
   - Exit without error if /sys is not available. Otherwise, it's ...

Read more...

Changed in open-iscsi:
status: In Progress → Fix Released
Jason Sievert (jsievert) wrote :

Any time line for of getting this package for jaunty working under intrepid?

Mathias Gug (mathiaz) on 2009-02-26
Changed in open-iscsi:
assignee: mathiaz → nobody
assignee: mathiaz → nobody
assignee: nobody → mathiaz

I also hit this bug. Could you please backport the jaunty-update to intrepid?

I too have run into this issue, and wonder if an intrepid backport will be ready soon.

Walter Huf (hufman) wrote :

I was able to install the Jaunty deb perfectly in my Intrepid system.

Sergio Zanchetta (primes2h) wrote :

Thank you for reporting this bug to Ubuntu. Intrepid Ibex 8.10 reached EOL on 30 March 2010.
Please see this document for currently supported Ubuntu releases:
https://wiki.ubuntu.com/Releases

Please feel free to report any other bugs you may find.
Thank you.

Changed in open-iscsi (Ubuntu Intrepid):
status: In Progress → Won't Fix
Sergio Zanchetta (primes2h) wrote :

I realized I had made a mistake, Intrepid Ibex 8.10 "will reach" EOL on 30 "APRIL" 2010.

Sorry for this.

Anyway, I think that one month doesn't make any difference now.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers