Deprecate /etc/sysconfig/nfs and only use /etc/nfs.conf to configure NFS daemons.
- Name: Steve Dickson
- Email: firstname.lastname@example.org
- Release notes owner:
Since the beginning /etc/sysconfig/nfs has been used to configure the NFS server daemons by supply command line arguments to the daemons or commands via SysVinit scripts.
Then systemd(1) came along and the idea of daemons self-configuration was started. Meaning daemons and commands would get their configurations from a file, not the command line like with SysVinit scripts.
Back in late 2016, Neil Brown from SuSe, implemented this change. He built into each daemon the ability to read from one central file, /etc/nfs.conf. See nfs.conf(5) for details.
After this work made it upstream, I a wrote patch that added back the ability to use /etc/sysconfig/nfs to maintain backwards compatibility which has lasted for the last few Fedora releases.
I think at this point, the timing is right to introduce this single file configuration to Fedora 30.
Benefit to Fedora
- Having a single file configuration will help IT automation systems like Ansible configure NFS servers.
- This change also simplifies the systemd scrips.
- Having two ways of configuring NFS is not desirable. The only reason there has been no problems is because nobody know about /etc/nfs.conf
- There is a new command, nfsconf(8), that checks the correctness of /etc/nfs.conf
- Proposal owners: Steve Dickson <email@example.com>
- Other developers: Justin Mitchell <firstname.lastname@example.org>
- Release engineering: #7864 F30: Deprecating /etc/sysconfig/nfs
- List of deliverables: nfs-utils-2.3.3-1.fc30
- Policies and guidelines: The guidelines to use /etc/nfs.conf are already being install with nfs.conf(5) and nfsconf(8) manpages
- Trademark approval: No trademarks are being changed so no approval is needed.
In BZ1619270 a python script that will convert a sysconfig/nfs config into nfs.conf config. There are a couple thoughts on how to use it.
On clean installs, when sysconfig/nfs does not exist, sysconfig/nfs wil still be installed with directions to use nfs.conf to do the configuration.
When sysconfig/nfs does exist, the configuration will not be overwritten, but the systemd scripts will not use the file to configure NFS.
The two thoughts on how to use python script:
- Have the upgrade run the script and maybe throw out a message that the configuration has now been moved to nfs.conf
- Throw a message indicating the NFS configuration has changed and then have the admin run the script
The first thought is probably the cleanest but changing configurations behind admin's back is not very nice... I am very open on how to use this script.
How To Test
With the new nfsconf(8) command, the nfs.conf can be tested for correctness, other than that, we should do the same testing as we do today
After the initial shock, I think users will embrace the new configuration. Being able to configure NFS via IT automation systems (aka Ansible) is a step in the right direction. Having a command to check the correctness of the configuration will be welcome.
There are no dependencies that I know of.
- Contingency mechanism: Revert the commit that removed support for /etc/sysconfig/nfs.
- Contingency deadline: 2019-03-05 (Beta Freeze)
- Blocks release? No
- Blocks product? No
There are two man pages, nfs.conf(5) and nfsconf(8).
The new way of configuring NFS should be release noted.