From Fedora Project Wiki
No edit summary
mNo edit summary
 
(6 intermediate revisions by 3 users not shown)
Line 13: Line 13:
* Targeted release: [[Releases/30 | Fedora 30]]
* Targeted release: [[Releases/30 | Fedora 30]]
* Last updated: {{REVISIONYEAR}}-{{REVISIONMONTH}}-{{REVISIONDAY2}}  
* Last updated: {{REVISIONYEAR}}-{{REVISIONMONTH}}-{{REVISIONDAY2}}  
* Tracker bug: <will be assigned by the Wrangler>
* Tracker bug: [https://bugzilla.redhat.com/show_bug.cgi?id=1644049 #1644049]


== Detailed Description ==
== Detailed Description ==
Line 26: Line 26:
line like with SysVinit scripts.
line like with SysVinit scripts.


Back in late 2016, Neil Brown from SuSe, implemented this changed.
Back in late 2016, Neil Brown from SuSe, implemented this change.
He built into each daemon the ability to read from  
He built into each daemon the ability to read from  
one central file, /etc/nfs.conf. See nfs.conf(5) for details.
one central file, /etc/nfs.conf. See nfs.conf(5) for details.
Line 52: Line 52:
<!-- What work do other developers have to accomplish to complete the feature in time for release?  Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?-->
<!-- What work do other developers have to accomplish to complete the feature in time for release?  Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?-->


* Release engineering: [https://pagure.io/releng/issue/786 #7864 F30: Deprecating /etc/sysconfig/nfs]  
* Release engineering: [https://pagure.io/releng/issue/7864 #7864 F30: Deprecating /etc/sysconfig/nfs]  
<!-- REQUIRED FOR SYSTEM WIDE AS WELL AS FOR SELF CONTAINED CHANGES -->
<!-- REQUIRED FOR SYSTEM WIDE AS WELL AS FOR SELF CONTAINED CHANGES -->
<!-- Does this feature require coordination with release engineering (e.g. changes to installer image generation or update package delivery)?  Is a mass rebuild required?  include a link to the releng issue.  
<!-- Does this feature require coordination with release engineering (e.g. changes to installer image generation or update package delivery)?  Is a mass rebuild required?  include a link to the releng issue.  
Line 111: Line 111:
The new way of configuring NFS should be release noted.
The new way of configuring NFS should be release noted.


[[Category:ChangePageIncomplete]]
[[Category:ChangeAcceptedF30]]
<!-- When your change proposal page is completed and ready for review and announcement -->
<!-- When your change proposal page is completed and ready for review and announcement -->
<!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler -->
<!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler -->

Latest revision as of 21:11, 29 October 2018

Deprecating /etc/sysconfig/nfs

Summary

Deprecate /etc/sysconfig/nfs and only use /etc/nfs.conf to configure NFS daemons.

Owner

  • Name: Steve Dickson
  • Email: steved@redhat.com
  • Release notes owner:


Current status

Detailed Description

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

Scope

  • Proposal owners: Steve Dickson <steved@redhat.com>
  • Other developers: Justin Mitchell <jumitche@redhat.com>
  • 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.

Upgrade/compatibility impact

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:

  1. Have the upgrade run the script and maybe throw out a message that the configuration has now been moved to nfs.conf
  2. 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

User Experience

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.

Dependencies

There are no dependencies that I know of.

Contingency Plan

  • 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

Documentation

There are two man pages, nfs.conf(5) and nfsconf(8).

Release Notes

The new way of configuring NFS should be release noted.