[Bug 811823] Re: idmapd upstart job ends in an inconsistent state if /usr is a separate partition
Ubuntu QA's Bug Bot
bug-stats at murraytwins.com
Mon Sep 19 19:21:11 UTC 2011
** Tags added: testcase
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to nfs-utils in Ubuntu.
https://bugs.launchpad.net/bugs/811823
Title:
idmapd upstart job ends in an inconsistent state if /usr is a separate
partition
Status in “nfs-utils” package in Ubuntu:
Fix Released
Status in “nfs-utils” source package in Lucid:
Fix Committed
Status in “nfs-utils” source package in Maverick:
Fix Committed
Status in “nfs-utils” source package in Natty:
Fix Committed
Bug description:
Because the idmapd upstart job uses a script line instead of directly
exec'ing the server, in the case where /usr is a separate partition
and not yet mounted at the time the job is started (e.g., because an
NFS mount is attempted in parallel to an fsck of /usr), the job will
fail to start and get wedged in a 'start/running' state with no
associated PID (upstart bug #545673). If we exec the daemon directly,
upstart will detect the exec() failure and respawn as needed.
This partially addresses the problems described in bug #643289, and is
worth SRUing in its own right even though it doesn't provide a
complete solution for all users.
SRU justification: race conditions in the nfs-utils upstart jobs
cause NFS client startup to be unreliable in certain configurations in
lucid and above, a regression vs. pre-upstart releases of Ubuntu.
Although this upload includes the removal of the rpc_pipefs job
(moving its functionality into the gssd and idmapd jobs for
simplicity), the real risk of regression here is very small. There
are no changes to the start/stop conditions to the gssd or idmapd
jobs, only a change to the script rule for the idmapd job. This
should have *no effect* except in the case where /usr/sbin/rpc.idmapd
is missing at the time the job runs - i.e., in the case when /usr has
not yet been mounted.
TEST CASE:
1. configure a system with /usr on a separate partition.
2. install nfs-common from the release (or -updates) pocket.
3. configure an NFSv4 mount in /etc/fstab to trigger idmapd to start before /usr is mounted. (The nfsv4 mount does not have to actually be mountable. Here is an example entry:
borges:/ /home/devel nfs4 sec=krb5i,proto=tcp 0 0
)
4. boot and verify with 'service idmapd' that the idmapd service is left in state 'start/running', with no associated process.
5. install nfs-common from the -proposed pocket and reboot.
6. verify with 'service idmapd' that the idmapd service has been successfully started, and is in state 'start/running' with an associated pid.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/nfs-utils/+bug/811823/+subscriptions
More information about the foundations-bugs
mailing list