Bug 756123 - Autofs mount of NIS described home directories hiccups at login
Summary: Autofs mount of NIS described home directories hiccups at login
Keywords:
Status: CLOSED EOL
Alias: None
Product: Fedora
Classification: Fedora
Component: autofs
Version: 25
Hardware: x86_64
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Ian Kent
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2011-11-22 18:11 UTC by Bill Kanawyer
Modified: 2017-12-12 10:29 UTC (History)
6 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2017-12-12 10:29:28 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Bill Kanawyer 2011-11-22 18:11:18 UTC
Problem description:
This problem appeared during acceptance testing of Fedora 16 with our standard IT environment.

A quick note on our environment is appropriate before proceeding.

Autofs is used to allow non-local NIS users to login and access their NFS exported home directories. So NetworkManager, systemd, ypbind, and autofs must all cooperate together in order to allow users to login either on the console or remotely via SSH.

To reduce complication, the problem will be described as see attempting a command line (ptty) login. 

When logging in using console (Ctl-Alt-F3 rather then GUI) interface, the
follow occurs:

testbed login: george
Password: <some_password>
Last login: Mon Nov 21 11:18:12 on tty3
 -- george: /home/dept/george: change directory failed: Permission denied
Logging in with home = "/".

testbed> pwd
/
testbed> cd
testbed> pwd
/home/dept/george
testbed>

Tests were made using current a Fedora 16 x86_64 network install disk:

# cat /etc/redhat-release
Fedora release 16 (Verne)

# uname -a
Linux pxei 3.1.1-1.fc16.x86_64 #1 SMP Fri Nov 11 21:47:56 UTC 2011 x86_64
x86_64 x86_64 GNU/Linux

On a Dell Optiplex 780.

NIS master and NFS services are provided by servers installed with:
Red Hat Enterprise Linux ES release 4 (Nahant Update 3).

This setup is currently operational in production with a wide variety of OS releases including Red Hat, Debian, Open Solaris, and other distributions.

How to reproduce, server side:
1) Setup NFS server exporting partition. (example: /home *(rw,sync))
2) Setup NIS server with password, shadow (optional), group, auto.master, & auto.home databases. 

3) Add appropriate test account(s)

NIS note:
auto.master - /home auto.home
auto.home - testuser nfs-server:/home/&

How to reproduce, Fedora 16 side:
1) Standard network install of current F16 release
   a) Create local user with sudo rights
2) Configure NetworkManager with fixed IP address (Assumes DNS entry)
   a) Assumes all users can access entry
   b) Assumes wireless is disabled
   c) Assumes appropriate netmask, gateway, & DNS addresses are in use
3) Verify 1000 gig network connection to NFS and NIS servers
4) Configure ypbind including:
   a) domain testdomain broadcast in /etc/yp.conf
   b) NISDOMAIN=testdomain in /etc/sysconfig/network as appropriate
   c) Enable ypbind for 
5) Configure /etc/nsswitch.conf to use "files nis" for everything except hosts which is "files dns"
6) Disable SELinux (for testing purposes)
7) Disable iptables (for testing purposes)
8) Verify ypbind and autofs are enabled for reboot
9) Reboot system

Steps to Reproduce:
1) Cntl-Alt-F3 to obtain command line login
2) Login as NIS (not local!) user
 
Additional info:
In previous Fedora releases, we have disabled NetworkManager on our workstations that use NIS/NFS because it was poorly suited for use with SysV5 init daemons. 

It was thought that most of the NetworkManager problems had finally been resolved with Fedora 16 and systemd. The early tests look promising except for this small glitch. I'm hoping it will soon become an excellent way to go.

Thanks for your support!

Comment 1 Ian Kent 2011-11-23 03:30:37 UTC
This problem was easily duplicated and is the same as the problem
seen in bug 709637 except that now NetworkManager has added support
for systemd so the workaround in bug 709637 no longer works.

I was able to get console logins to work by putting nm-online
in the autofs init script like this:

--- autofs.orig	2011-11-23 11:00:24.454269899 +0800
+++ autofs	2011-11-23 10:10:21.144499136 +0800
@@ -85,6 +85,8 @@
 		fi
 	fi
 
+	nm-online
+
 	s=`ypwhich`
 	echo "ypwhich $s"

The login then worked ok.

I then had a problem with the graphical login and found that
using "setsebool -P use_nfs_home_dirs 1" resolved that.

Your next question is probably "will this be put into the
F16 package" and the answer is I'm not sure.

The problem with this is that we still don't know if NIS will
be bound when autofs starts and that is the main reason for
not just doing the above change while we are waiting for
systemd support in autofs.

I've been frustrated by this problem for some time now
(like yourself no doubt, but for different reasons).

First when I added code to enable autofs to wait for the
master map to become available (which worked fine in
testing) the person asking for the change was either unable
or unwilling to give much more than "it doesn't work" so
that option was a no go. Also, I couldn't find an answer
to the "should or shouldn't have a $ on the dependency"
in documentation I looked at so that was a no go and
finally the flat out refusal of the NetworkManager folks
to wait for the network interface to be available at
startup by default.

More recently the systemd implementation has come along
quite well and the systemd folks seem more willing to
offer reasoned and sensible reasons for difficulties
resulting from the implementation so autofs will support
systemd and that will be available in F17.

That doesn't necessarily do anything for you right now
because policy requires systemd support not be added to
a package during a current release.

We have a couple of choices:
1) Get an exception and add systemd support in F16.
2) Add the workaround above to the init script and
   hope for the best, although we should have some
   feedback from the ypbind maintainer on this and
   if possible be sure NIS will bind before autofs
   starts.
3) Obtain the Rawhide autofs source rpm build it and
   assit with testing systemd support. I expect to
   add that in the next couple of days but haven't
   done any real testing yet. This option might also
   lead to option 1, who knows.

Ian

Comment 2 Bill Kanawyer 2011-11-23 14:01:35 UTC
(In reply to comment #1)
> This problem was easily duplicated and is the same as the problem
> seen in bug 709637 except that now NetworkManager has added support
> for systemd so the workaround in bug 709637 no longer works.
> 
> I was able to get console logins to work by putting nm-online
> in the autofs init script like this:
> 
> --- autofs.orig 2011-11-23 11:00:24.454269899 +0800
> +++ autofs 2011-11-23 10:10:21.144499136 +0800
> @@ -85,6 +85,8 @@
>    fi
>   fi
> 
> + nm-online
> +
>   s=`ypwhich`
>   echo "ypwhich $s"
> 
> The login then worked ok.
> 
> I then had a problem with the graphical login and found that
> using "setsebool -P use_nfs_home_dirs 1" resolved that.
> 
> Your next question is probably "will this be put into the
> F16 package" and the answer is I'm not sure.
> 
> The problem with this is that we still don't know if NIS will
> be bound when autofs starts and that is the main reason for
> not just doing the above change while we are waiting for
> systemd support in autofs.
> 
> I've been frustrated by this problem for some time now
> (like yourself no doubt, but for different reasons).
> 
> First when I added code to enable autofs to wait for the
> master map to become available (which worked fine in
> testing) the person asking for the change was either unable
> or unwilling to give much more than "it doesn't work" so
> that option was a no go. Also, I couldn't find an answer
> to the "should or shouldn't have a $ on the dependency"
> in documentation I looked at so that was a no go and
> finally the flat out refusal of the NetworkManager folks
> to wait for the network interface to be available at
> startup by default.
> 
> More recently the systemd implementation has come along
> quite well and the systemd folks seem more willing to
> offer reasoned and sensible reasons for difficulties
> resulting from the implementation so autofs will support
> systemd and that will be available in F17.
> 
> That doesn't necessarily do anything for you right now
> because policy requires systemd support not be added to
> a package during a current release.
> 
> We have a couple of choices:
> 1) Get an exception and add systemd support in F16.
> 2) Add the workaround above to the init script and
>    hope for the best, although we should have some
>    feedback from the ypbind maintainer on this and
>    if possible be sure NIS will bind before autofs
>    starts.
> 3) Obtain the Rawhide autofs source rpm build it and
>    assist with testing systemd support. I expect to
>    add that in the next couple of days but haven't
>    done any real testing yet. This option might also
>    lead to option 1, who knows.
> 
> Ian

I'll test out the workaround fix and provide feedback; we've been hand patching Red Hat and Fedora for years around here to tickle them into operating in our off the beaten path environment. 

I'll also think about your choices to see if I can add anything.

Comment 3 Bill Kanawyer 2011-12-02 18:23:25 UTC
(In reply to comment #2)
> (In reply to comment #1)
> > This problem was easily duplicated and is the same as the problem
> > seen in bug 709637 except that now NetworkManager has added support
> > for systemd so the workaround in bug 709637 no longer works.
> > 
> > I was able to get console logins to work by putting nm-online
> > in the autofs init script like this:
> > 
> > --- autofs.orig 2011-11-23 11:00:24.454269899 +0800
> > +++ autofs 2011-11-23 10:10:21.144499136 +0800
> > @@ -85,6 +85,8 @@
> >    fi
> >   fi
> > 
> > + nm-online
> > +
> >   s=`ypwhich`
> >   echo "ypwhich $s"
> > 
> > The login then worked ok.
> > 
> > I then had a problem with the graphical login and found that
> > using "setsebool -P use_nfs_home_dirs 1" resolved that.
> > 
> > Your next question is probably "will this be put into the
> > F16 package" and the answer is I'm not sure.
> > 
> > The problem with this is that we still don't know if NIS will
> > be bound when autofs starts and that is the main reason for
> > not just doing the above change while we are waiting for
> > systemd support in autofs.
> > 
> > I've been frustrated by this problem for some time now
> > (like yourself no doubt, but for different reasons).
> > 
> > First when I added code to enable autofs to wait for the
> > master map to become available (which worked fine in
> > testing) the person asking for the change was either unable
> > or unwilling to give much more than "it doesn't work" so
> > that option was a no go. Also, I couldn't find an answer
> > to the "should or shouldn't have a $ on the dependency"
> > in documentation I looked at so that was a no go and
> > finally the flat out refusal of the NetworkManager folks
> > to wait for the network interface to be available at
> > startup by default.
> > 
> > More recently the systemd implementation has come along
> > quite well and the systemd folks seem more willing to
> > offer reasoned and sensible reasons for difficulties
> > resulting from the implementation so autofs will support
> > systemd and that will be available in F17.
> > 
> > That doesn't necessarily do anything for you right now
> > because policy requires systemd support not be added to
> > a package during a current release.
> > 
> > We have a couple of choices:
> > 1) Get an exception and add systemd support in F16.
> > 2) Add the workaround above to the init script and
> >    hope for the best, although we should have some
> >    feedback from the ypbind maintainer on this and
> >    if possible be sure NIS will bind before autofs
> >    starts.
> > 3) Obtain the Rawhide autofs source rpm build it and
> >    assist with testing systemd support. I expect to
> >    add that in the next couple of days but haven't
> >    done any real testing yet. This option might also
> >    lead to option 1, who knows.
> > 
> > Ian
> 
> I'll test out the workaround fix and provide feedback; we've been hand patching
> Red Hat and Fedora for years around here to tickle them into operating in our
> off the beaten path environment. 
> 
> I'll also think about your choices to see if I can add anything.

Sorry for the delay; other demands on my time.

I can confirm this work around was satisfactory. It represents a simple change we can put into production.

For the record however, I was confused by your diff as the line numbering differed from the image I have. Here's my diff:

testbed> diff -c /etc/init.d/autofs.ori /etc/init.d/autofs
*** /etc/init.d/autofs.ori      2011-12-02 13:21:49.323652852 -0500
--- /etc/init.d/autofs  2011-12-02 11:40:32.712110832 -0500
***************
*** 84,89 ****
--- 84,93 ----
                        rm /dev/$DEVICE
                fi
        fi
+       nm-online
+
+       s=`ypwhich`
+       echo "ypwhich $s"

        echo -n $"Starting $prog: "
        $prog $OPTIONS --pid-file /var/run/autofs.pid

Comment 4 Ian Kent 2011-12-05 02:09:26 UTC
(In reply to comment #3)
> (In reply to comment #2)
> > (In reply to comment #1)
> > > This problem was easily duplicated and is the same as the problem
> > > seen in bug 709637 except that now NetworkManager has added support
> > > for systemd so the workaround in bug 709637 no longer works.
> > > 
> > > I was able to get console logins to work by putting nm-online
> > > in the autofs init script like this:
> > > 
> > > --- autofs.orig 2011-11-23 11:00:24.454269899 +0800
> > > +++ autofs 2011-11-23 10:10:21.144499136 +0800
> > > @@ -85,6 +85,8 @@
> > >    fi
> > >   fi
> > > 
> > > + nm-online
> > > +
> > >   s=`ypwhich`
> > >   echo "ypwhich $s"
> > > 
> > > The login then worked ok.
> > > 
> > > I then had a problem with the graphical login and found that
> > > using "setsebool -P use_nfs_home_dirs 1" resolved that.
> > > 
> > > Your next question is probably "will this be put into the
> > > F16 package" and the answer is I'm not sure.
> > > 
> > > The problem with this is that we still don't know if NIS will
> > > be bound when autofs starts and that is the main reason for
> > > not just doing the above change while we are waiting for
> > > systemd support in autofs.
> > > 
> > > I've been frustrated by this problem for some time now
> > > (like yourself no doubt, but for different reasons).
> > > 
> > > First when I added code to enable autofs to wait for the
> > > master map to become available (which worked fine in
> > > testing) the person asking for the change was either unable
> > > or unwilling to give much more than "it doesn't work" so
> > > that option was a no go. Also, I couldn't find an answer
> > > to the "should or shouldn't have a $ on the dependency"
> > > in documentation I looked at so that was a no go and
> > > finally the flat out refusal of the NetworkManager folks
> > > to wait for the network interface to be available at
> > > startup by default.
> > > 
> > > More recently the systemd implementation has come along
> > > quite well and the systemd folks seem more willing to
> > > offer reasoned and sensible reasons for difficulties
> > > resulting from the implementation so autofs will support
> > > systemd and that will be available in F17.
> > > 
> > > That doesn't necessarily do anything for you right now
> > > because policy requires systemd support not be added to
> > > a package during a current release.
> > > 
> > > We have a couple of choices:
> > > 1) Get an exception and add systemd support in F16.
> > > 2) Add the workaround above to the init script and
> > >    hope for the best, although we should have some
> > >    feedback from the ypbind maintainer on this and
> > >    if possible be sure NIS will bind before autofs
> > >    starts.
> > > 3) Obtain the Rawhide autofs source rpm build it and
> > >    assist with testing systemd support. I expect to
> > >    add that in the next couple of days but haven't
> > >    done any real testing yet. This option might also
> > >    lead to option 1, who knows.
> > > 
> > > Ian
> > 
> > I'll test out the workaround fix and provide feedback; we've been hand patching
> > Red Hat and Fedora for years around here to tickle them into operating in our
> > off the beaten path environment. 
> > 
> > I'll also think about your choices to see if I can add anything.
> 
> Sorry for the delay; other demands on my time.
> 
> I can confirm this work around was satisfactory. It represents a simple change
> we can put into production.
> 
> For the record however, I was confused by your diff as the line numbering
> differed from the image I have. Here's my diff:
> 
> testbed> diff -c /etc/init.d/autofs.ori /etc/init.d/autofs
> *** /etc/init.d/autofs.ori      2011-12-02 13:21:49.323652852 -0500
> --- /etc/init.d/autofs  2011-12-02 11:40:32.712110832 -0500
> ***************
> *** 84,89 ****
> --- 84,93 ----
>                         rm /dev/$DEVICE
>                 fi
>         fi
> +       nm-online
> +
> +       s=`ypwhich`
> +       echo "ypwhich $s"

Oh, right, that would be my fault, sorry.

I think I added the two lines following for debug purposes
in a separate patch.

In any case the workaround is fairly straight forward and
you have been able to make your own patch.

It's also worthwhile trying the current autofs update that's
in updates testing in case that also resolves the problem.

Ian

Comment 5 David Highley 2012-07-22 18:54:41 UTC
We are finding that autofs still needs restarting after booting with Fedora 17.
autofs-5.0.6-19.fc17.x86_64
systemd-44-17.fc17.x86_64r
kernel-3.4.6-2.fc17.x86_64

Comment 6 Fedora End Of Life 2013-01-16 22:46:02 UTC
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: 
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 7 Fedora End Of Life 2013-02-14 01:18:38 UTC
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.

Comment 8 Charlie Brady 2017-01-05 20:54:52 UTC
(In reply to David Highley from comment #5)
> We are finding that autofs still needs restarting after booting with Fedora
> 17.
> autofs-5.0.6-19.fc17.x86_64
> systemd-44-17.fc17.x86_64r
> kernel-3.4.6-2.fc17.x86_64

Sadly I am still seeing problems with Fedora 25!!

Comment 9 Fedora End Of Life 2017-11-16 18:34:31 UTC
This message is a reminder that Fedora 25 is nearing its end of life.
Approximately 4 (four) weeks from now Fedora will stop maintaining
and issuing updates for Fedora 25. 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 EOL if it remains open with a Fedora  'version'
of '25'.

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.

Thank you for reporting this issue and we are sorry that we were not
able to fix it before Fedora 25 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  change the 'version' to a later Fedora
version prior this bug is closed as described in the policy above.

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.

Comment 10 Fedora End Of Life 2017-12-12 10:29:28 UTC
Fedora 25 changed to end-of-life (EOL) status on 2017-12-12. Fedora 25 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. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this
bug.

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.