----- Original Message -----
From: "Patrick Hurrelmann"
<patrick.hurrelmann(a)lobster.de>
To: vdsm-devel(a)lists.fedorahosted.org, devel(a)ovirt.org
Sent: Tuesday, July 29, 2014 4:43:36 PM
Subject: [vdsm] Wrong default multipath configuration for EL6
Hi all,
after suffering from boot-failures after kernel-updates on my EL6 hosts
(the ones that san boot via iscsi), I finally managed to locate the root
cause of the problem: the default values as set by vdsm are incorrect
for EL6 and prohibit a successful iscsi boot (the faulty multipath.conf
gets embedded in the new initrd on a kernel update). Additionally the
following errors are repeatedly logged on all my hosts (device ids may
vary) with the default vdsm multipath config:
device-mapper: table: 253:5: multipath: error getting device
device-mapper: ioctl: error adding target to table
device-mapper: table: 253:5: multipath: error getting device
device-mapper: ioctl: error adding target to table
And it all boils down to the default value set for option getuid_callout
in multipath.conf. Vdsm sets it to the following:
getuid_callout "/sbin/scsi_id --whitelisted --replace-whitespace
--device=/dev/%n"
According to the man-page and other docu the default value on EL6 is
"/lib/udev/scsi_id --whitelisted --device=/dev/%n". Although the binary
/sbin/scsi_id is a valid link to the target /lib/udev/scsi_id, the link
itself (/sbin/scsi_id) is _not_ included in the generated initrd. The
binary /lib/udev/scsi_id is indeed included and changing the default
config to use /lib/udev/scsi_id instead does make it all work again.
iscsi boot (after regenerating the initrd, as the multipath.conf is
embedded) is back to good and the previously logged device-mapper errors
are gone, too.
Can someone please verify this and and apply the easy (attached) patch?
Thanks Patrick!
I'll look into this.
Would you open a bug for this issue, to help us track this issue?
--- multipath.py.orig 2014-07-29 15:24:37.643839169 +0200
+++ multipath.py 2014-07-29 15:25:06.823840362 +0200
@@ -88,9 +88,8 @@
log = logging.getLogger("Storage.Multipath")
_scsi_id = utils.CommandPath("scsi_id",
- "/sbin/scsi_id", # EL6
"/usr/lib/udev/scsi_id", # Fedora
- "/lib/udev/scsi_id", # Ubuntu
+ "/lib/udev/scsi_id", # EL6, Ubuntu
)
Thanks a lot and best regards
Patrick
--
Lobster SCM GmbH, Münchner Straße 15a, D-82319 Starnberg
HRB 178831, Amtsgericht München
Geschäftsführer: Dr. Martin Fischer, Rolf Henrich
_______________________________________________
vdsm-devel mailing list
vdsm-devel(a)lists.fedorahosted.org
https://lists.fedorahosted.org/mailman/listinfo/vdsm-devel