Bug 1331460 - nfs-config service is *not* being re-run as needed
Summary: nfs-config service is *not* being re-run as needed
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: nfs-utils
Version: 7.3
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: rc
: ---
Assignee: Steve Dickson
QA Contact: Yongcheng Yang
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-04-28 14:50 UTC by Steve Dickson
Modified: 2016-11-04 05:03 UTC (History)
5 users (show)

Fixed In Version: nfs-utils-1.3.0-0.25.el7
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2016-11-04 05:03:35 UTC
Target Upstream Version:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Bugzilla 1205542 0 medium CLOSED [RFE] when do service nfs start, auto update the /run/sysconfig/nfs-utils from /etc/sysconfig/nfs 2021-02-22 00:41:40 UTC
Red Hat Product Errata RHBA-2016:2383 0 normal SHIPPED_LIVE nfs-utils bug fix and enhancement update 2016-11-03 13:53:02 UTC

Internal Links: 1205542

Description Steve Dickson 2016-04-28 14:50:39 UTC
Description of problem:
The nfs-config script should be re-run when service that
use variables in /etc/sysconfig/nfs are restarted.


How reproducible:
100%

Steps to Reproduce:
1. Change RPCGSSDARGS in /etc/sysconfig/nfs
2. system restart rpc-gssd
3. ps ax | grep rpc-gss will show args not set.


Additional info:
commit c4940fad2a73481cad67732746a4e2bb74e8d32e
Author: NeilBrown <neilb@suse.com>
Date:   Wed Mar 16 12:18:40 2016 -0400

    systemd: ensure nfs-config service is re-run as needed.

Comment 4 Yongcheng Yang 2016-05-27 11:30:36 UTC
Hi Steve, just noticed one problem: after this update merged, the command "systemctl status nfs-config" always return 3 as inactive (dead).


[root@hp-dl380pg8-14 ~]# rpm -q nfs-utils
nfs-utils-1.3.0-0.21.el7.x86_64
[root@hp-dl380pg8-14 ~]# systemctl restart nfs-config
[root@hp-dl380pg8-14 ~]# echo $?
0
[root@hp-dl380pg8-14 ~]# systemctl status nfs-config
● nfs-config.service - Preprocess NFS configuration
   Loaded: loaded (/usr/lib/systemd/system/nfs-config.service; static; vendor preset: disabled)
   Active: active (exited) since Fri 2016-05-27 07:02:34 EDT; 9s ago
  Process: 10603 ExecStart=/usr/lib/systemd/scripts/nfs-utils_env.sh (code=exited, status=0/SUCCESS)
 Main PID: 10603 (code=exited, status=0/SUCCESS)

May 27 07:02:34 hp-dl380pg8-14.rhts.eng.pek2.redhat.com systemd[1]: Starting Preprocess NFS configuration...
May 27 07:02:34 hp-dl380pg8-14.rhts.eng.pek2.redhat.com systemd[1]: Started Preprocess NFS configuration.
[root@hp-dl380pg8-14 ~]# echo $?
0
[root@hp-dl380pg8-14 ~]# 
[root@hp-dl380pg8-14 ~]# 
[root@hp-dl380pg8-14 ~]# rpm -Uvh nfs-utils-1.3.0-0.25.el7.x86_64.rpm 
Preparing...                          ################################# [100%]
Updating / installing...
   1:nfs-utils-1:1.3.0-0.25.el7       ################################# [ 50%]
Cleaning up / removing...
   2:nfs-utils-1:1.3.0-0.21.el7       ################################# [100%]
[root@hp-dl380pg8-14 ~]# 
[root@hp-dl380pg8-14 ~]# rpm -q nfs-utils
nfs-utils-1.3.0-0.25.el7.x86_64
[root@hp-dl380pg8-14 ~]# systemctl restart nfs-config
[root@hp-dl380pg8-14 ~]# echo $?
0
[root@hp-dl380pg8-14 ~]# systemctl status nfs-config
● nfs-config.service - Preprocess NFS configuration
   Loaded: loaded (/usr/lib/systemd/system/nfs-config.service; static; vendor preset: disabled)
   Active: inactive (dead) since Fri 2016-05-27 07:03:10 EDT; 6s ago
   ^^^^^^^^^^^^^^^^^^^^^^
  Process: 10747 ExecStart=/usr/lib/systemd/scripts/nfs-utils_env.sh (code=exited, status=0/SUCCESS)
 Main PID: 10747 (code=exited, status=0/SUCCESS)

May 27 07:03:10 hp-dl380pg8-14.rhts.eng.pek2.redhat.com systemd[1]: Starting Preprocess NFS configuration...
May 27 07:03:10 hp-dl380pg8-14.rhts.eng.pek2.redhat.com systemd[1]: Started Preprocess NFS configuration.
[root@hp-dl380pg8-14 ~]# echo $?
3
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[root@hp-dl380pg8-14 ~]# 


And If change back with "RemainAfterExit=yes", everything gets OK again.
[root@hp-dl380pg8-14 ~]# cat /usr/lib/systemd/system/nfs-config.service  | grep "^RemainAfterExit"
RemainAfterExit=no
[root@hp-dl380pg8-14 ~]# vi /usr/lib/systemd/system/nfs-config.service
[root@hp-dl380pg8-14 ~]# cat /usr/lib/systemd/system/nfs-config.service  | grep "^RemainAfterExit"
RemainAfterExit=yes
[root@hp-dl380pg8-14 ~]# systemctl daemon-reload
[root@hp-dl380pg8-14 ~]# systemctl restart nfs-config
[root@hp-dl380pg8-14 ~]# systemctl status nfs-config
● nfs-config.service - Preprocess NFS configuration
   Loaded: loaded (/usr/lib/systemd/system/nfs-config.service; static; vendor preset: disabled)
   Active: active (exited) since Fri 2016-05-27 07:17:42 EDT; 2s ago
  Process: 10876 ExecStart=/usr/lib/systemd/scripts/nfs-utils_env.sh (code=exited, status=0/SUCCESS)
 Main PID: 10876 (code=exited, status=0/SUCCESS)

May 27 07:17:42 hp-dl380pg8-14.rhts.eng.pek2.redhat.com systemd[1]: Starting Preprocess NFS configuration...
May 27 07:17:42 hp-dl380pg8-14.rhts.eng.pek2.redhat.com systemd[1]: Started Preprocess NFS configuration.
[root@hp-dl380pg8-14 ~]# echo $?
0
[root@hp-dl380pg8-14 ~]#

Comment 5 Yongcheng Yang 2016-05-31 03:02:49 UTC
(In reply to Yongcheng Yang from comment #4)
> Hi Steve, just noticed one problem: after this update merged, the command
> "systemctl status nfs-config" always return 3 as inactive (dead).
> 

Seems it's the expected action. Read from the man page SYSTEMD.SERVICE(5):

RemainAfterExit=
Takes a boolean value that specifies whether the service shall be considered active even when all its processes exited. Defaults to no.

Previously, nfs-config.service was executed once and remain active after that. While the dependent service (i.e. rpc-gssd.service) which contains "After=nfs-config.service" restarting, as nfs-config is already active, NO nfs-config re-run then. So subsequent changes to the distro-specific files do not take effect.

To amend the above shortage, this patch unavoidably need to change the nfs-config.service's STATUS.

I will update our test cases accordingly and don't deem it as a bug. Please correct me if I'm wrong.

Comment 7 Yongcheng Yang 2016-05-31 03:16:12 UTC
Move to VERIFIED according to comment 5 and comment 6.
And will continue to run the automatic case.

Comment 9 errata-xmlrpc 2016-11-04 05:03:35 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-2383.html


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