Bug 836317 - NFSv4 NFS Root idmapd failure
NFSv4 NFS Root idmapd failure
Product: Fedora
Classification: Fedora
Component: dracut (Show other bugs)
x86_64 Linux
unspecified Severity unspecified
: ---
: ---
Assigned To: dracut-maint
Fedora Extras Quality Assurance
Depends On:
  Show dependency treegraph
Reported: 2012-06-28 12:49 EDT by James Vess
Modified: 2013-02-13 09:13 EST (History)
2 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2013-02-13 09:13:04 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description James Vess 2012-06-28 12:49:05 EDT
Description of problem:
NFSv4 fails to function with current Dracut nfs Module as generated configuration files do not contain enough information for the rpc.idmapd service to properly start.

Version-Release number of selected component (if applicable):
dracut 013-22.fc16

How reproducible:
Every Boot

Steps to Reproduce:
1. Create a NFSROOT Image, Use nfs4:<serverip/hostname>/<location> in kernel string.
2. Boot.
Actual results:
rpc.idmapd fails to find the group "nobody" and exits, causing the root filesystem to not have any file permissions.

Expected results:
rpc.idmapd would remain running and provide file permissions.

Additional info:
Please add matching groups for the users you are adding into the temporary /etc/passwd during boot via /usr/share/dracut/modules.d/95nfs/module-setup.sh

    egrep '^root:' /etc/group >> "$initdir/etc/group"
    egrep '^nobody:' /etc/group >> "$initdir/etc/group"
    egrep '^nfsnobody:' /etc/group >> "$initdir/etc/group"
    egrep '^rpcuser:' /etc/group >> "$initdir/etc/group"

This will save headache as there are a good amount of issues and configuration when booting from NFSv4 on FC16 and this complicates it a bit.
( Such as idmapd failing due to rpc_pipefs not mounting, wherein the little configuration provided by /etc/passwd /etc/group in the initramfs should be enough to boot the system to a troubleshoot-able state with these changes. )

Though it hasn't affected my configuration, In my environment nfsroot-cleanup.sh fails to move the rpc_pipefs mount due to the pipefs being mounted ( within /proc/mounts ) at /run/initramfs/var/lib/nfs/rpc_pipefs instead of relative to the root directory.

if incol2 /proc/mounts /var/lib/nfs/rpc_pipefs; then
    # try to create the destination directory
    [ -d $NEWROOT/$rpcpipefspath ] || \
        mkdir -m 0755 -p $NEWROOT/$rpcpipefspath 2>/dev/null

    if [ -d $NEWROOT/$rpcpipefspath ]; then
        mount --move /var/lib/nfs/rpc_pipefs $NEWROOT/$rpcpipefspath
        umount /var/lib/nfs/rpc_pipefs

incol2() {
    local dummy check;
    local file="$1";
    local str="$2";

    [ -z "$file" ] && return 1;
    [ -z "$str"  ] && return 1;

    while read dummy check restofline; do
        [ "$check" = "$str" ] && return 0
    done < $file
    return 1

I've looked for one matching this issue but did not find one in the bug system for this version of FC, So I apologize if I missed it and this is a dup.
Comment 1 James Vess 2012-07-04 18:34:05 EDT
I just installed the latest stable FC17, It looks like the "nobody" issue has been resolved as it's been added to the temporary /etc/group

[root@workstation netboot]# yum list installed | grep dracut
dracut.noarch                    018-78.git20120622.fc17
dracut-network.noarch            018-78.git20120622.fc17

I'm testing now for the rpc_pipefs issue.
Comment 2 Fedora End Of Life 2013-01-16 08:25:08 EST
This message is a reminder that Fedora 16 is nearing its end of life.
Approximately 4 (four) weeks from now Fedora will stop maintaining
and issuing updates for Fedora 16. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as WONTFIX if it remains open with a Fedora 
'version' of '16'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version prior to Fedora 16's end of life.

Bug Reporter: Thank you for reporting this issue and we are sorry that 
we may not be able to fix it before Fedora 16 is end of life. If you 
would still like to see this bug fixed and are able to reproduce it 
against a later version of Fedora, you are encouraged to click on 
"Clone This Bug" and open it against that version of Fedora.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

The process we are following is described here: 
Comment 3 Fedora End Of Life 2013-02-13 09:13:09 EST
Fedora 16 changed to end-of-life (EOL) status on 2013-02-12. Fedora 16 is 
no longer maintained, which means that it will not receive any further 
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of 
Fedora please feel free to reopen this bug against that version.

Thank you for reporting this bug and we are sorry it could not be fixed.

Note You need to log in before you can comment on or make changes to this bug.