nis: NIS is started before rpcbind since rpcbind was migrated to systemd

Michael Biebl biebl at debian.org
Fri Feb 5 23:47:47 GMT 2016


On Fri, 22 Jan 2016 13:03:00 -0800 Nye Liu <nyet at mrv.com> wrote:
> For some reason, even though $portmap is mentioned in /etc/init.d/nis as a
> start prereq, ypbind is started BEFORE rpcbind.
> 
> This causes ypbind to NEVER properly start, and the bind_wait obviously cannot
> ever succeed.
> 
>> Jan 22 12:51:01 compile1 kernel: [   22.330297] tg3 0000:02:00.0 eth0: Flow control is on for TX and on for RX
>> Jan 22 12:51:01 compile1 kernel: [   22.330416] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
>> Jan 22 12:51:01 compile1 nis[461]: Setting NIS domainname to: xxx.xxx.xxx
> ...
>> Jan 22 12:51:06 compile1 ypbind[615]: Unable to register (YPBINDPROG, YPBINDVERS, udp).
> ...
>> Jan 22 12:51:11 compile1 systemd[1]: Starting RPC bind portmap service...
>> Jan 22 12:51:11 compile1 rpcbind[640]: rpcbind: xdr_/run/rpcbind/rpcbind.xdr: failed
>> Jan 22 12:51:11 compile1 rpcbind[640]: rpcbind: xdr_/run/rpcbind/portmap.xdr: failed
>> Jan 22 12:51:11 compile1 systemd[1]: Started RPC bind portmap service.
>> Jan 22 12:51:11 compile1 systemd[1]: Reached target RPC Port Mapper.
> ...
>> Jan 22 12:51:15 compile1 nis[461]: Starting NIS services: ypbindbinding to YP server...........................................failed (backgrounded).
>> Jan 22 12:51:15 compile1 nis[461]: .
>> Jan 22 12:51:15 compile1 systemd[1]: Started LSB: Start NIS client and server daemons..
> 
> Note that the "RPC Port Mapper" target is only reached AFTER ypbind is started
> (and fails)
> 
> This was working fine until somebody migrated /etc/init.d/rpcbind to
> /lib/systemd/



If you run "systemctl edit rpcbind.socket" and add the following:

[Unit]
DefaultDependencies=no
Wants=rpcbind.target
Before=rpcbind.target

Is the problem gone after a reboot?
If not, can you please attach the output of
systemctl status rpcbind.service rpcbind.target
and journalctl -alb

DefaultDependencies=no should make it possible to start the socket in
early boot, and Wants/Before=rpcbind.target will pull in rpcbind.target
which provides $portmap for sysv init scripts (see man
systemd.special(7), section "SPECIAL PASSIVE SYSTEM UNITS"), so those
should get a correct ordering after rpcbind.socket.

Regards,
Michael

-- 
Why is it that all of the instruments seeking intelligent life in the
universe are pointed away from Earth?

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP digital signature
URL: <http://lists.alioth.debian.org/pipermail/pkg-systemd-maintainers/attachments/20160206/4afe460c/attachment.sig>


More information about the Pkg-systemd-maintainers mailing list