On Fri, Jan 22, 2016 at 09:34:19PM +0000, Mark Brown wrote:
> > This causes ypbind to NEVER properly start, and the bind_wait
> > obviously cannot ever succeed.
>
> It should eventually figure things out?
No, but I have a patch for nis script, attached...
--- dist/nis 2016-01-20 16:18:24.171239577 -0800
+++ nis 2016-01-22 13:08:19.532968676 -0800
@@ -43,24 +43,38 @@
if [ "`ypwhich 2>/dev/null`" = "" ]
then
+ running=""
bound=""
log_action_begin_msg "binding to YP server"
- for i in 1 2 3 4 5 6 7 8 9 10
+ for i in `seq 10`
do
sleep 1
- log_action_cont_msg "."
- if [ "`ypwhich 2>/dev/null`" != "" ]
+ # make sure ypbind started; rpcbind might not be ready
yet
+ if [ -n "$( pidofproc ${NET}/ypbind )" ]
then
- echo -n " done] "
- bound="yes"
- break
+ log_action_cont_msg "."
+ running="yes"
+ if [ "`ypwhich 2>/dev/null`" != "" ]
+ then
+ echo -n " done] "
+ bound="yes"
+ break
+ fi
+ else
+ running=""
+ # try to start ypbind again
+ log_action_cont_msg "x"
+ ypbind_start
fi
done
# This should potentially be an error
if [ "$bound" ] ; then
log_action_end_msg 0
- else
+ elif [ "$running" ] ; then
log_action_end_msg 1 "backgrounded"
+ else
+ log_action_end_msg 1 "failed"
+ exit 1
fi
fi
}
@@ -118,6 +132,14 @@
return 0
}
+ypbind_start()
+{
+ start-stop-daemon -b --start --quiet \
+ --exec ${NET}/ypbind -- $broadcast ${YPBINDARGS}
+ # takes some time to come up
+ sleep 3
+}
+
do_start ()
{
oname=`domainname`
@@ -169,8 +191,7 @@
if want_ypbind
then
log_progress_msg "ypbind"
- start-stop-daemon -b --start --quiet \
- --exec ${NET}/ypbind -- $broadcast ${YPBINDARGS}
+ ypbind_start
bind_wait
fi
if [ "$NISSERVER" = "slave" -a "$NISMASTER" != "" ]
--
Nye Liu
[email protected]
(747) 224-2253
(818) 772-0576 fax
"Who would be stupid enough to quote a fictitious character?"
-- Don Quixote
MRV Communications is a global supplier of packet and optical solutions that
power the world’s largest networks. Our products combine innovative hardware
with intelligent software to make networks smarter, faster and more efficient.