Bug 593050

Summary: mkinitrd does not support multipath-tools bindings_file option
Product: Red Hat Enterprise Linux 5 Reporter: Bryn M. Reeves <bmr>
Component: mkinitrdAssignee: Brian Lane <bcl>
Status: CLOSED ERRATA QA Contact: Release Test Team <release-test-team-automation>
Severity: urgent Docs Contact:
Priority: urgent    
Version: 5.5CC: andre.rozendaal, atodorov, borgan, cmarcant, cward, ddumas, fnadge, james.brown, jwest, mganisin, rprice, tao
Target Milestone: rcKeywords: ZStream
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: mkinitrd-5.1.19.6-63 Doc Type: Bug Fix
Doc Text:
Previously, mkinitrd did not support the option multipath-tools bindings_file. This update does support this option.
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-01-14 00:06:08 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 596134    
Attachments:
Description Flags
determine location of bindings file from multipath.conf and copy to initramfs
none
libbdevid-python for i386
none
libbdevid-python for ia64
none
libbdevid-python for ppc
none
libbdevid-python for ppc64
none
libbdevid-python for s390
none
libbdevid-python for s390x
none
libbdevid-python for x86_64
none
mkinitrd for i386
none
mkinitrd for ia64
none
mkinitrd for ppc
none
mkinitrd for ppc64
none
mkinitrd for s390
none
mkinitrd for s390x
none
mkinitrd src rpm
none
mkinitrd for x86_64
none
mkinitrd-debuginfo for i386
none
mkinitrd-debuginfo for ia64
none
mkinitrd-debuginfo for ppc
none
mkinitrd-debuginfo for ppc64
none
mkinitrd-debuginfo for s390
none
mkinitrd-debuginfo for s390x
none
mkinitrd-debuginfo for x86_64
none
mkinitrd-devel for i386
none
mkinitrd-devel for ia64
none
mkinitrd-devel for ppc
none
mkinitrd-devel for ppc64
none
mkinitrd-devel for s390
none
mkinitrd-devel for s390x
none
mkinitrd-devel for x86_64
none
nash for i386
none
nash for ia64
none
nash for ppc
none
nash for ppc64
none
nash for s390
none
nash for s390x
none
nash for x86_64
none
initrd.img from the failed test case none

Description Bryn M. Reeves 2010-05-17 17:51:02 UTC
Description of problem:
The multipath-tools package supports a configuration directive bindings_file to specify an alternate location for the WWID-alias binding database that overrides the default location in /var.

This directive was introduced to address bug 320151 which describes problems seen when this file is located in /var but /var is a separate file system from the root volume (several possible symptoms may be seen depending on timing/configuration).

If a system is using this directive then mkinitrd must make sure to copy the bindings file from the location specified in /etc/multipath.conf to the corresponding relative path inside the initramfs image.

Version-Release number of selected component (if applicable):
mkinitrd-5.1.19.6-54

How reproducible:
100%

Steps to Reproduce:
1. Configure a multipath boot system with separate /var
2. Edit /etc/multipath.conf specifying e.g.:

  defaults {
  /* other stuff */
      bindings_file = /etc/multipath/bindings
  }

3. Create the new bindings db or copy over the existing content from /var
4. run mkinitrd
  
Actual results:
Generated initramfs will contain whatever junk was in /var/lib/multipath/bindings and a configuration file that points to a non-existant bindings_file location.

Expected results:
Generated initramfs contains the file specified by the bindings_file directive at the same relative path within the image.

Additional info:

Comment 3 Bryn M. Reeves 2010-05-18 18:10:56 UTC
Created attachment 414927 [details]
determine location of bindings file from multipath.conf and copy to initramfs

Patch from Cedric Buissart to grab location of bindings db from multipath.conf & stuff it into the initrfamfs (with minor typo fixed).

Comment 7 Brian Lane 2010-05-25 20:37:49 UTC
Created attachment 416514 [details]
libbdevid-python for i386

Comment 8 Brian Lane 2010-05-25 20:39:27 UTC
Created attachment 416515 [details]
libbdevid-python for ia64

Comment 9 Brian Lane 2010-05-25 20:40:02 UTC
Created attachment 416516 [details]
libbdevid-python for ppc

Comment 10 Brian Lane 2010-05-25 20:40:53 UTC
Created attachment 416518 [details]
libbdevid-python for ppc64

Comment 11 Brian Lane 2010-05-25 20:41:29 UTC
Created attachment 416519 [details]
libbdevid-python for s390

Comment 12 Brian Lane 2010-05-25 20:42:00 UTC
Created attachment 416521 [details]
libbdevid-python for s390x

Comment 13 Brian Lane 2010-05-25 20:42:47 UTC
Created attachment 416522 [details]
libbdevid-python for x86_64

Comment 14 Brian Lane 2010-05-25 20:43:31 UTC
Created attachment 416523 [details]
mkinitrd for i386

Comment 15 Brian Lane 2010-05-25 20:44:05 UTC
Created attachment 416524 [details]
mkinitrd for ia64

Comment 16 Brian Lane 2010-05-25 20:44:51 UTC
Created attachment 416525 [details]
mkinitrd for ppc

Comment 17 Brian Lane 2010-05-25 20:45:41 UTC
Created attachment 416526 [details]
mkinitrd for ppc64

Comment 18 Brian Lane 2010-05-25 20:46:19 UTC
Created attachment 416527 [details]
mkinitrd for s390

Comment 19 Brian Lane 2010-05-25 20:46:52 UTC
Created attachment 416528 [details]
mkinitrd for s390x

Comment 20 Brian Lane 2010-05-25 20:47:31 UTC
Created attachment 416529 [details]
mkinitrd src rpm

Comment 21 Brian Lane 2010-05-25 20:48:11 UTC
Created attachment 416530 [details]
mkinitrd for x86_64

Comment 22 Brian Lane 2010-05-25 20:49:07 UTC
Created attachment 416531 [details]
mkinitrd-debuginfo for i386

Comment 23 Brian Lane 2010-05-25 20:49:59 UTC
Created attachment 416532 [details]
mkinitrd-debuginfo for ia64

Comment 24 Brian Lane 2010-05-25 20:50:43 UTC
Created attachment 416534 [details]
mkinitrd-debuginfo for ppc

Comment 25 Brian Lane 2010-05-25 20:51:22 UTC
Created attachment 416535 [details]
mkinitrd-debuginfo for ppc64

Comment 26 Brian Lane 2010-05-25 20:52:07 UTC
Created attachment 416536 [details]
mkinitrd-debuginfo for s390

Comment 27 Brian Lane 2010-05-25 20:52:58 UTC
Created attachment 416537 [details]
mkinitrd-debuginfo for s390x

Comment 28 Brian Lane 2010-05-25 20:53:49 UTC
Created attachment 416538 [details]
mkinitrd-debuginfo for x86_64

Comment 29 Brian Lane 2010-05-25 20:54:46 UTC
Created attachment 416539 [details]
mkinitrd-devel for i386

Comment 30 Brian Lane 2010-05-25 20:55:35 UTC
Created attachment 416540 [details]
mkinitrd-devel for ia64

Comment 31 Brian Lane 2010-05-25 20:56:18 UTC
Created attachment 416543 [details]
mkinitrd-devel for ppc

Comment 32 Brian Lane 2010-05-25 20:57:07 UTC
Created attachment 416544 [details]
mkinitrd-devel for ppc64

Comment 33 Brian Lane 2010-05-25 20:58:42 UTC
Created attachment 416546 [details]
mkinitrd-devel for s390

Comment 34 Brian Lane 2010-05-25 20:59:28 UTC
Created attachment 416547 [details]
mkinitrd-devel for s390x

Comment 35 Brian Lane 2010-05-25 21:00:15 UTC
Created attachment 416549 [details]
mkinitrd-devel for x86_64

Comment 36 Brian Lane 2010-05-25 21:01:47 UTC
Created attachment 416550 [details]
nash for i386

Comment 37 Brian Lane 2010-05-25 21:02:41 UTC
Created attachment 416551 [details]
nash for ia64

Comment 38 Brian Lane 2010-05-25 21:03:22 UTC
Created attachment 416552 [details]
nash for ppc

Comment 39 Brian Lane 2010-05-25 21:04:03 UTC
Created attachment 416553 [details]
nash for ppc64

Comment 40 Brian Lane 2010-05-25 21:04:45 UTC
Created attachment 416554 [details]
nash for s390

Comment 41 Brian Lane 2010-05-25 21:05:28 UTC
Created attachment 416555 [details]
nash for s390x

Comment 42 Brian Lane 2010-05-25 21:06:49 UTC
Created attachment 416557 [details]
nash for x86_64

Comment 44 Brian Lane 2010-05-25 21:25:18 UTC
Thanks, next time I'll ask whether or not the receiver has access to brew.

Comment 49 Chris Ward 2010-10-21 12:24:22 UTC
Has the reporter provided test feedback already? Thanks.

Comment 50 Alexander Todorov 2010-10-27 15:20:40 UTC
Hello GSS folks,
can you help us with testing this fix with the latest 5.6 tree? 

Thanks,
Alexander.

Comment 56 Alexander Todorov 2010-12-15 08:46:31 UTC
With help from Barry Donahue I have the following setup:

# mount
/dev/mapper/mpath0p2 on / type ext3 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/mapper/mpath0p3 on /var type ext3 (rw)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
none on /var/lib/xenstored type tmpfs (rw)

/var is separate partition

# cat /etc/multipath.conf

defaults {
        user_friendly_names yes
        bindings_file = /etc/multipath/bindings
}

blacklist {
        devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
        devnode "^(hd|xvd|vd)[a-z]*"
        wwid "*"
}

# Make sure our multipath devices are enabled.

blacklist_exceptions {
        wwid "20090ef1270000002"
        wwid "20090ef1270000033"
        wwid "20090ef1270000032"
        wwid "20090ef1270000031"
        wwid "20090ef1270000030"
        wwid "20090ef1270000044"
        wwid "20090ef1270000043"
        wwid "20090ef1270000042"
        wwid "20090ef1270000041"
        wwid "20090ef1270000040"
        wwid "20090ef127000003f"
        wwid "20090ef127000003e"
        wwid "20090ef127000003d"
        wwid "20090ef127000003c"
        wwid "20090ef127000003b"
        wwid "20090ef127000003a"
        wwid "20090ef1270000039"
        wwid "20090ef1270000038"
        wwid "20090ef1270000037"
        wwid "20090ef1270000036"
        wwid "20090ef1270000035"
        wwid "20090ef1270000034"
}

# cat /etc/multipath/bindings 
# Multipath bindings, Version : 1.0
# NOTE: this file is automatically maintained by the multipath program.
# You should not need to edit this file in normal circumstances.
#
# This file was automatically generated by anaconda.
#
# Format:
# alias wwid
#
mpath0 20090ef1270000002
mpath12 20090ef1270000033
mpath11 20090ef1270000032
mpath10 20090ef1270000031
mpath1 20090ef1270000030
mpath9 20090ef1270000044
mpath8 20090ef1270000043
mpath7 20090ef1270000042
mpath6 20090ef1270000041
mpath5 20090ef1270000040
mpath4 20090ef127000003f
mpath3 20090ef127000003e
mpath21 20090ef127000003d
mpath20 20090ef127000003c
mpath2 20090ef127000003b
mpath19 20090ef127000003a
mpath18 20090ef1270000039
mpath17 20090ef1270000038
mpath16 20090ef1270000037
mpath15 20090ef1270000036
mpath14 20090ef1270000035
mpath13 20090ef1270000034


The configurations is as described in comment #54.

After running mkinitrd on this system the resulting initrd.img contains  multipath.conf file and no bindings file at all. 

This is with mkinitrd-5.1.19.6-66.el5

Comment 57 Alexander Todorov 2010-12-15 08:48:52 UTC
Created attachment 468798 [details]
initrd.img from the failed test case

Comment 58 Alexander Todorov 2010-12-15 08:55:22 UTC
Bryn,
was the test valid? It looks like the issue is not resolved.

Comment 59 Alexander Todorov 2010-12-21 07:11:39 UTC
Please answer comment #56-#58. Moving back to ASSIGNED until then.

Comment 60 David Cantrell 2010-12-21 15:08:33 UTC
(In reply to comment #58)
> Bryn,
> was the test valid? It looks like the issue is not resolved.

I think the bindings_file directive in your multipath.conf file needs to lose the equal sign.  Your defaults section should be:

defaults {
        user_friendly_names yes
        bindings_file /etc/multipath/bindings
}

My quick run through the device-mapper-multipath code tells me the equal sign is invalid syntax for that config file.  Try it using the above syntax and see if the generated initrd.img works.

Comment 61 David Cantrell 2010-12-22 19:59:59 UTC
device-mapper-multipath package maintainer confirms that the syntax in your multipath.conf file needs to change.  The equal sign on the bindings_file line needs to be removed.  The rest of the syntax is correct.

I tested the mkinitrd code using your multipath.conf file with the equal sign removed and the correct values are picked up, so I imagine once you run through your test again, the generated initrd.img will be correct.

Comment 63 Florian Nadge 2011-01-03 15:49:07 UTC
    Technical note added. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    New Contents:
Previously, mkinitrd did not support the option multipath-tools bindings_file. This update does support this option.

Comment 66 errata-xmlrpc 2011-01-14 00:06:08 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHBA-2011-0110.html

Comment 67 David Cantrell 2011-02-23 22:05:29 UTC
*** Bug 660721 has been marked as a duplicate of this bug. ***