Bug 1207239

Summary: systemd entry for rquotad service missing from nfs-utils package (should be in quota package?)
Product: Red Hat Enterprise Linux 7 Reporter: Chuck Lane <lane>
Component: quotaAssignee: Petr Pisar <ppisar>
Status: CLOSED ERRATA QA Contact: Jan Ščotka <jscotka>
Severity: high Docs Contact: Milan Navratil <mnavrati>
Priority: high    
Version: 7.0CC: akrherz, Anthony.Thyssen, bblaskov, bburke264, brodbd, cat8, dossow, dwysocha, hbarcomb, igeorgex, jorton, jpazdziora, jscotka, j, orion, ppisar, steved, vanhoof, yoyang
Target Milestone: rcKeywords: Regression, ZStream
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: quota-4.01-14.el7 Doc Type: Bug Fix
Doc Text:
The *quota* RPC service is no longer unavailable After upgrading the *nfs-utils* packages, the *nfs-rquotad.service* systemd service was previously unavailable on the system after starting the *quota* Remote Procedure Call (RPC) service. To fix this bug, the *quota* packages now include a new *rpc-rquotad.service* *systemd* service, which provides the *quota* RPC service that allows querying and setting disk quotas over a network. The service can be configured in the `/etc/sysconfig/rpc-rquotad` file. The *nfs-rquotad* service alias is also provided to ensure compatibility with earlier versions. As a result, the *quota* RPC service is now available on Red Hat Enterprise Linux 7 as expected in the described situation.
Story Points: ---
Clone Of:
: 1316440 (view as bug list) Environment:
Last Closed: 2016-11-04 00:18:46 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1203710, 1283777, 1289025, 1295829, 1313485, 1316440    

Description Chuck Lane 2015-03-30 13:38:05 UTC
The systemd entry for rquotad service was removed from nfs-utils

The systemd entry has not been added to the quota package. so the rquotad service does not get started. 

This is a minor, easily fixable, but highly annoying bug in quota.

Comment 2 Petr Pisar 2015-03-31 12:45:39 UTC
With respect to similar conversion about Fedora's bug #866225, I classify this bug as regression in the nfs-utils.

Comment 3 Markus Iturriaga 2015-04-29 17:18:24 UTC
I can verify that this problem is still present in RHEL 7.1 with nfs-utils-1.3.0-0.8.el7 and quota-4.01-11.el7.

Comment 5 Steve Dickson 2015-04-30 14:10:29 UTC
(In reply to Petr Pisar from comment #2)
> With respect to similar conversion about Fedora's bug #866225, I classify
> this bug as regression in the nfs-utils.

I don't understand... We all agree with you on
  https://bugzilla.redhat.com/show_bug.cgi?id=866225#c1
the systemd script should be in the quota package

so why is this an nfs-utils bug?

Comment 6 Markus Iturriaga 2015-04-30 14:16:23 UTC
(In reply to Steve Dickson from comment #5)
> (In reply to Petr Pisar from comment #2)
> > With respect to similar conversion about Fedora's bug #866225, I classify
> > this bug as regression in the nfs-utils.
> 
> I don't understand... We all agree with you on
>   https://bugzilla.redhat.com/show_bug.cgi?id=866225#c1
> the systemd script should be in the quota package
> 
> so why is this an nfs-utils bug?

I think because the systemd rquotad script used to be part of the nfs-utils package. It seems like it would make much more sense for it to be in quota. It still shows up in the file lists as retrieved with yum provides:

1:nfs-utils-1.3.0-0.el7.x86_64 : NFS utilities and supporting clients and daemons for the kernel NFS server
Repo        : rhel-7-server-rpms
Matched from:
Filename    : /usr/lib/systemd/system/nfs-rquotad.service

But it's not there.

Comment 7 Steve Dickson 2015-04-30 14:26:38 UTC
I just looked so there is a rpc-rquotad.service in Fedora 22
[Unit]
Description=Remote quota server
Documentation=man:rpc.rquotad(8)
Requires=rpcbind.service
PartOf=rpcbind.service
After=rpcbind.service

[Service]
Type=forking
EnvironmentFile=-/etc/sysconfig/rpc-rquotad
ExecStart=/usr/sbin/rpc.rquotad $RPCRQUOTADOPTS

[Install]
WantedBy=multi-user.target

So we get this script in the quota package, which
should clean up yum provides info.

I going to flip this back to a quota bz since
that's where the change has to be made.

Comment 8 Petr Pisar 2015-05-04 07:42:09 UTC
It's nfs-utils business because RHEL-7.0 was released with the nfs-rquotad.service in nfs-utils. It's regression in RHEL. The "we agreed" is about Fedora, not RHEL.

Comment 9 Steve Dickson 2015-07-01 13:33:17 UTC
(In reply to Petr Pisar from comment #8)
> It's nfs-utils business because RHEL-7.0 was released with the
> nfs-rquotad.service in nfs-utils. It's regression in RHEL. The "we agreed"
> is about Fedora, not RHEL.

It makes absolutely no sense to have the binary in one package
and the startup script in another. Please add the start up
script to the quota package like it is in Fedora.

Comment 10 Petr Pisar 2015-07-01 13:34:50 UTC
If you like breaking RHEL API, then let go.

Comment 11 antofthy 2015-07-14 05:11:34 UTC
This bug is still a problem as of this date.

I am having to downgrade nfs-utils  package just so the rquotad is launched!


# yum downgrade nfs-utils-1.3.0-0.el7.x86_64
...
---> Package nfs-utils.x86_64 1:1.3.0-0.el7 will be a downgrade
---> Package nfs-utils.x86_64 1:1.3.0-0.8.el7 will be erased
...

# rpm -qf /usr/sbin/rpc.rquotad
quota-4.01-11.el7.x86_64


Please update the quota package to actually launch rquotad!

Comment 12 Petr Pisar 2015-07-14 06:52:05 UTC
> This bug is still a problem as of this date.
> 
> I am having to downgrade nfs-utils  package just so the rquotad is launched!
> 
See. I told this was a regression in nfs-utils. Not in the quota package.

Comment 13 Markus Iturriaga 2015-07-14 14:01:03 UTC
I agree that this is a regression in nfs-utils. I was just wondering if it would either make sense to combine all the quota functions into the nfs-utils package (getting rid of the quota package) or to move the systemd unit into the quota package. Either seems like it would be more logical? Certainly, not having the script anywhere seems unworkable.

Comment 14 Jason Tibbitts 2015-07-16 22:40:00 UTC
Is determining the most appropriate package to contain 271 bytes of text really better than having this busted for nearly four months?

In case it saves anyone else time, here's /lib/systemd/system/rpc-rquotad.service:

[Unit]
Description=Remote quota server
Documentation=man:rpc.rquotad(8)
Requires=rpcbind.target
After=rpcbind.target

[Service]
Type=forking
EnvironmentFile=-/etc/sysconfig/rpc-rquotad
ExecStart=/usr/sbin/rpc.rquotad $RPCRQUOTADOPTS

[Install]
WantedBy=multi-user.target

Put it in place (mode 644), systemctl daemon-reload, and enable or start as you wish.

Comment 15 antofthy 2015-07-17 04:43:50 UTC
This is what was really annoying about tracking down this bug...

The RHEL Storage Administration Guide - 8.1.1 NFS Required Services...

https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Storage_Administration_Guide/ch-nfs.html#s2-nfs-how-daemons


----------------------
rpc.rquotad
    This process provides user quota information for remote users. rpc.rquotad is started automatically by the nfs service and does not require user configuration. 
--------------------------

It just says -- is started automatically.

Well that is no longer the case!



And even later in    8.7.3. Running NFS Behind a Firewall
Quota is not mentioned at all, though for NFS it does require a firewall opening on port 875 (as defined in /etc/services), for it to work.

Comment 16 Bryan Burke 2015-08-26 20:51:09 UTC
Is there any more information needed for this? When this gets updated, we'll need to make sure we remove our file in /etc/systemd to allow the RPM-provided one take over.

Comment 17 daryl herzmann 2015-08-26 21:00:42 UTC
I added a Community Discussion on this hoping to get some sort of feedback from RedHat. It does not appear this is on the roadmap to get fixed in RHEL 7.2?!?!

https://access.redhat.com/discussions/1573883

Comment 18 Petr Pisar 2015-08-27 07:45:09 UTC
(In reply to Daryl Herzmann from comment #17)
> I added a Community Discussion on this hoping to get some sort of feedback
> from RedHat. It does not appear this is on the roadmap to get fixed in RHEL
> 7.2?!?!
> 
> https://access.redhat.com/discussions/1573883

Please contact Red Hat support. This is the only way how to escalate this issue properly. Without complains from customers there is no pressure to management to approve this change.

Comment 19 daryl herzmann 2015-08-27 12:40:03 UTC
(In reply to Petr Pisar from comment #18)
> 
> Please contact Red Hat support. This is the only way how to escalate this
> issue properly. Without complains from customers there is no pressure to
> management to approve this change.

Thanks for the response.  We are an academic customer with this level of support only on our Proxy/Satellite.  Since this issue affects neither, we have no alternative but to whine on the forums and here.

It is a pretty sad statement that bureaucracy is necessary to fix issues like this.

Comment 21 Dave Wysochanski 2015-11-24 20:49:17 UTC
(In reply to Markus Iturriaga from comment #6)
> (In reply to Steve Dickson from comment #5)
> > (In reply to Petr Pisar from comment #2)
> > > With respect to similar conversion about Fedora's bug #866225, I classify
> > > this bug as regression in the nfs-utils.
> > 
> > I don't understand... We all agree with you on
> >   https://bugzilla.redhat.com/show_bug.cgi?id=866225#c1
> > the systemd script should be in the quota package
> > 
> > so why is this an nfs-utils bug?
> 
> I think because the systemd rquotad script used to be part of the nfs-utils
> package. It seems like it would make much more sense for it to be in quota.
> It still shows up in the file lists as retrieved with yum provides:
> 
> 1:nfs-utils-1.3.0-0.el7.x86_64 : NFS utilities and supporting clients and
> daemons for the kernel NFS server
> Repo        : rhel-7-server-rpms
> Matched from:
> Filename    : /usr/lib/systemd/system/nfs-rquotad.service
> 
> But it's not there.

FWIW, I've filed a separate bug for the "yum whatprovides" issue since at least that issue has nothing to do with quota package.
https://bugzilla.redhat.com/show_bug.cgi?id=1285081

Comment 22 Jason Tibbitts 2016-01-27 19:23:47 UTC
In case anyone wonders why the unit file in comment 14 will fail to start the daemon at boot in EL7.2, you need to use the following now to cope with changes made to the other NFS unit files:

[Unit]
Description=Remote quota server
Documentation=man:rpc.rquotad(8)
Requires=rpcbind.service
PartOf=rpcbind.service
After=rpcbind.service

[Service]
Type=forking
EnvironmentFile=-/etc/sysconfig/rpc-rquotad
ExecStart=/usr/sbin/rpc.rquotad $RPCRQUOTADOPTS

[Install]
WantedBy=multi-user.target

Comment 23 David Brodbeck 2016-01-27 22:17:00 UTC
Thanks, Jason, that saved me a lot of time.

I find it ironic that a breaking change in the NFS unit files is apparently okay, but adding this single configuration file is considered too risky of an API change.

Comment 29 Chris Turner 2016-03-02 00:33:55 UTC
Any updates? 

This bug is nearly *1 year old* at this point..

yes, we are paying customers, 
who were bitten today by the above policy:

"
> Please contact Red Hat support. This is the only way how to escalate this
> issue properly. Without complains from customers there is no pressure to
> management to approve this change.
"

which let the bug stay broken prior to our encountering it.

Filed CASE 01592986 fwiw. 

Hope this helps make the bugfixes go easier.

Comment 31 Petr Pisar 2016-03-04 08:43:10 UTC
How to test:

(1) Install "quota" RPM package.
(2) Start "rpc-rquotad.service" systemd service.
Before:
  There is no such systemd unit file.
After:
  The service is successfully started.

You can also test that changes in the /etc/sysconfig/rpc-rquotad configuration
file makes an desired effect.

Please note that the fixed package provides "rpc-rquotad.service" unit file. Not "nfs-rquotad.service" unit file.

Comment 33 Petr Pisar 2016-03-08 08:54:09 UTC
I can see some tests fail because the nfs service does not start the rpc.rquotad daemon anymore.

Please change the NFS tests to start rpc-rquotad.service on the server. 

Alternatively we could add WantedBy=nfs.service into quota's rpc-rquotad.service so that rpc-rquotad.service is automatically started whenever nfs.service is started. But I don't know if this the best solution for those who want and NFS server without RPC quota support.

Also I'm not sure what service name for the NFS service is canonical today. There is nfs-server.service and a symlink nfs.service to it.

Comment 34 Petr Pisar 2016-03-08 09:18:27 UTC
> Alternatively we could add WantedBy=nfs.service into quota's
> rpc-rquotad.service so that rpc-rquotad.service is automatically started
> whenever nfs.service is started. But I don't know if this the best solution
> for those who want and NFS server without RPC quota support.
> 
Well, to start rpc-rquotad.service automatically on nfs.service, one needs to enable the rpc-rquotad.service explicitly. So it would not fix the test either.

Comment 41 Petr Pisar 2016-03-10 14:36:09 UTC
I added WantedBy=nfs-server.service into rpc-rquotad.service and I added an nfs-rquotad.service symlink to rpc-quotqad.service. This should improve backward compatibility.

Comment 43 antofthy 2016-08-25 03:18:59 UTC
Would be nice if the documentation included the firewall setup for quotad as part of the firewall info given for general NFS.

Though I figured it out, it was a surprise that it was not part of it.

Comment 48 errata-xmlrpc 2016-11-04 00:18:46 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-2016-2195.html

Comment 52 Milan Navratil 2017-01-22 23:38:27 UTC
(In reply to antofthy from comment #43)
> Would be nice if the documentation included the firewall setup for quotad as
> part of the firewall info given for general NFS.
> 
> Though I figured it out, it was a surprise that it was not part of it.

Hello,

Thank you very much for your suggestion. I'm the maintainer of the Red Hat Enterprise Linux 7 Storage Administration Guide, and I worked with Petr Písař on the suggested docs update.

The updated version of the guide is now available on the Customer Portal and contains a new sesction, Accessing RPC quota through a Firewall: https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Storage_Administration_Guide/nfs-serverconfig.html#sf2-nfs-accessing-rpc-quote-through-a-firewall

Thanks again.