From Fedora Project Wiki
No edit summary
m (Use Mediawiki markup from template)
Line 1: Line 1:
๐Ÿ”— Change Proposal Name
= Deprecating /etc/sysconfig/nfs =
* Deprecating /etc/sysconfig/nfs


๐Ÿ”— Summary
== Summary ==
* Deprecate /etc/sysconfig/nfs and only use /etc/nfs.conf to configure NFS daemons.
Deprecate /etc/sysconfig/nfs and only use /etc/nfs.conf to configure NFS daemons.


๐Ÿ”— Owner
== Owner ==
* Name: Steve Dickson
* Name: Steve Dickson
* Email: steved@redhat.com
* Email: steved@redhat.com
* Release notes owner:
* Release notes owner:


๐Ÿ”— Current status
ย 
* Targeted release: Fedora 30
== Current status ==
* Last updated: 2018-10-13
* Targeted release: [[Releases/30 | Fedora 30]]
* Last updated: {{REVISIONYEAR}}-{{REVISIONMONTH}}-{{REVISIONDAY2}}
* Tracker bug: <will be assigned by the Wrangler>
* Tracker bug: <will be assigned by the Wrangler>


๐Ÿ”— Detailed Description
== Detailed Description ==


Since the beginning /etc/sysconfig/nfs has been used to configure ย 
Since the beginning /etc/sysconfig/nfs has been used to configure ย 
Line 37: Line 37:
file configuration to Fedora 30.
file configuration to Fedora 30.


๐Ÿ”— Benefit to Fedora
== Benefit to Fedora ==


* Having a single file configuration will help IT automation systems like Ansible configureย  NFS servers. ย 
* Having a single file configuration will help IT automation systems like Ansible configureย  NFS servers. ย 
Line 44: Line 44:
* There is a new command, nfsconf(8), that checks the correctness of /etc/nfs.conf
* There is a new command, nfsconf(8), that checks the correctness of /etc/nfs.conf


๐Ÿ”— Scope
== Scope ==
* Proposal owners: Steve Dickson <steved@redhat.com>
* Proposal owners:
* Other developers: Justin Mitchell <jumitche@redhat.com>
<!-- What work do the feature owners 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: #Releng issue number (a check of an impact with Release Engineering is needed)
ย 
* List of deliverables: N/A (not a System Wide Change)
* Other developers: N/A (not a System Wide Change) <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Policies and guidelines: N/A (not a System Wide Change)
<!-- 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/issues #Releng issue number] (a check of an impact with Release Engineering is needed) <!-- 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.
The issue is required to be filed prior to feature submission, to ensure that someone is on board to do any process development work and testing, and that all changes make it into the pipeline; a bullet point in a change is not sufficient communication -->
** [[Fedora_Program_Management/ReleaseBlocking/Fedora{{FedoraVersionNumber|next}}|List of deliverables]]: N/A (not a System Wide Change) <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
<!-- Please check the list of Fedora release deliverables and list all the differences the feature brings -->
ย 
* Policies and guidelines: N/A (not a System Wide Change) <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
<!-- Do the packaging guidelines or other documents need to be updated for this feature?ย  If so, does it need to happen before or after the implementation is done?ย  If a FPC ticket exists, add a link here. -->
ย 
* Trademark approval: N/A (not needed for this Change)
* Trademark approval: N/A (not needed for this Change)
<!-- If your Change may require trademark approval (for example, if it is a new Spin), file a ticket ( https://fedorahosted.org/council/ ) requesting trademark approval from the Fedora Council. This approval will be done via the Council's consensus-based process. -->


๐Ÿ”— Upgrade/compatibility impact
== Upgrade/compatibility impact ==
ย 
In [https://bugzilla.redhat.com/show_bug.cgi?id=1619270 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.
In [https://bugzilla.redhat.com/show_bug.cgi?id=1619270 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.


Line 66: Line 76:
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.
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
== 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
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
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
N/A (not a System Wide Change)


== 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.
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
== Dependencies ==
<!-- What other packages (RPMs) depend on this package?ย  Are there changes outside the developers' control on which completion of this change depends?ย  In other words, completion of another change owned by someone else and might cause you to not be able to finish on time or that you would need to coordinate?ย  Other upstream projects like the kernel (if this is not a kernel change)? -->


There are no dependencies that I know of.
There are no dependencies that I know of.


๐Ÿ”— Contingency Plan
== Contingency Plan ==
* Contingency mechanism:ย  None at this point.
* Contingency deadline: None.
* Blocks release? Hopefully, no
* Blocks product? N/A?


๐Ÿ”— Documentation
<!-- If you cannot complete your feature by the final development freeze, what is the backup plan?ย  This might be as simple as "Revert the shipped configuration".ย  Or it might not (e.g. rebuilding a number of dependent packages).ย  If you feature is not completed in time we want to assure others that other parts of Fedora will not be in jeopardy.ย  -->
* Contingency mechanism: (What to do?ย  Who will do it?) N/A (not a System Wide Change)ย  <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
<!-- When is the last time the contingency mechanism can be put in place?ย  This will typically be the beta freeze. -->
* Contingency deadline: N/A (not a System Wide Change)ย  <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
<!-- Does finishing this feature block the release, or can we ship with the feature in incomplete state? -->
* Blocks release? N/A (not a System Wide Change), Yes/No <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Blocks product? product <!-- Applicable for Changes that blocks specific product release/Fedora.next -->


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


๐Ÿ”— Release Notes
== Release Notes ==
The new way of configuring NFS should be release noted.


The new way of configuring NFS should be release noted.
[[Category:ChangePageIncomplete]]
<!-- When your change proposal page is completed and ready for review and announcement -->
<!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler -->
<!-- The Wrangler announces the Change to the devel-announce list and changes the category to Category:ChangeAnnounced (no action required) -->
<!-- After review, the Wrangler will move your page to Category:ChangeReadyForFesco... if it still needs more work it will move back to Category:ChangePageIncomplete-->


ย  ย  Category:ChangeReadyForWrangler Category:SystemWideChange
<!-- Select proper category, default is Self Contained Change -->
<!-- [[Category:SelfContainedChange]] -->
[[Category:SystemWideChange]]

Revision as of 15:12, 15 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

  • Targeted release: Fedora 30
  • Last updated: 2018-10-15
  • Tracker bug: <will be assigned by the Wrangler>

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 changed. 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:
  • Other developers: N/A (not a System Wide Change)
  • Policies and guidelines: N/A (not a System Wide Change)
  • Trademark approval: N/A (not needed for this Change)

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

N/A (not a System Wide Change)

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: (What to do? Who will do it?) N/A (not a System Wide Change)
  • Contingency deadline: N/A (not a System Wide Change)
  • Blocks release? N/A (not a System Wide Change), Yes/No
  • Blocks product? product

Documentation

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

Release Notes

The new way of configuring NFS should be release noted.