Bug 1036791 - Please do not pull in rpcbind.service from multi-user.target [NEEDINFO]
Summary: Please do not pull in rpcbind.service from multi-user.target
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: rpcbind
Version: 7.0
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: rc
: ---
Assignee: Steve Dickson
QA Contact: JianHong Yin
URL:
Whiteboard:
Depends On: 963189
Blocks: WhyWeBootSoSlow
TreeView+ depends on / blocked
 
Reported: 2013-12-02 15:48 UTC by Steve Dickson
Modified: 2015-03-05 11:22 UTC (History)
7 users (show)

Fixed In Version: rpcbind-0.2.0-25.el7
Doc Type: Bug Fix
Doc Text:
Clone Of: 963189
Environment:
Last Closed: 2015-03-05 11:22:11 UTC
Target Upstream Version:
nstraz: needinfo? (systemd-maint)


Attachments (Terms of Use)


Links
System ID Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2015:0489 normal SHIPPED_LIVE rpcbind bug fix and enhancement update 2015-03-05 16:02:13 UTC

Description Steve Dickson 2013-12-02 15:48:43 UTC
+++ 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.)

Comment 2 RHEL Product and Program Management 2014-03-22 06:26:03 UTC
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.

Comment 5 Nate Straz 2014-10-29 18:33:54 UTC
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.

Comment 6 Steve Dickson 2014-11-03 18:31:41 UTC
(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?

Comment 7 Nate Straz 2014-11-03 19:37:56 UTC
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_*

Comment 8 JianHong Yin 2014-11-07 10:57:48 UTC
[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 ~]#

Comment 10 errata-xmlrpc 2015-03-05 11:22:11 UTC
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


Note You need to log in before you can comment on or make changes to this bug.