Hide Forgot
+++ This bug was initially created as a clone of Bug #963189 +++ rpcbind.service is currently pulled in by multi-user.target unconditionally, even though it is socket-activated on-demand via rpcbind.socket, and even though it actually appears to be the ideal case where something can be lazy-loaded on-demand, simply because most people don't use it, but is installed anyway. lazy-loading it on-demand is transparent to the client, so there really isn't any drawback to socket-activate it. To make this work, simply drop The line "WantedBy=multi-user.target" from /usr/lib/systemd/system/rpcbind.service. (And while you are at it, please drop "After=syslog.target network.target", too. syslog.target is entirely unnecessary these days, all services get syslog support for free anyway. And I don't see why rpcbind should require the network in any way. It just listens on 0.0.0.0 and AF_UNIX which both are available at any time anyway, so there's no need to wait for the network or anything.)
This request was not resolved in time for the current release. Red Hat invites you to ask your support representative to propose this request, if still desired, for consideration in the next release of Red Hat Enterprise Linux.
rpcbind.socket should also listen to TCP port 111, otherwise the service won't get loaded when using the standard interfaces. We have test programs that use pmap_getmaps/pmap_set/pmap_unset and rpcbind was not starting automatically.
(In reply to Nate Straz from comment #5) > rpcbind.socket should also listen to TCP port 111, otherwise the service > won't get loaded when using the standard interfaces. We have test programs > that use pmap_getmaps/pmap_set/pmap_unset and rpcbind was not starting > automatically. In clue as how to do this?
That's a good question. I tried doing something like this: [Socket] ListenStream=111 Accept=false and found that systemd holds onto the port and accepts future connections, which ends up hanging processes trying to use pmap_*
[root@rdma-qe-11 ~]# rpm -q rpcbind rpcbind-0.2.0-25.el7.x86_64 [root@rdma-qe-11 ~]# grep multi-user.target /usr/lib/systemd/system/rpcbind.service [root@rdma-qe-11 ~]# cat /usr/lib/systemd/system/rpcbind.service [Unit] Description=RPC bind service Requires=rpcbind.socket [Service] Type=forking EnvironmentFile=/etc/sysconfig/rpcbind ExecStart=/sbin/rpcbind -w ${RPCBIND_ARGS} [Install] Also=rpcbind.socket [root@rdma-qe-11 ~]#
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://rhn.redhat.com/errata/RHBA-2015-0489.html
Dropping the stale needinfo. If our input is still needed, please set the needinfo again.