From Fedora Project Wiki
(Initial entry from template)
 
(Initial summary and benefit)
Line 3: Line 3:
<!-- The actual name of your proposed change page should look something like: Changes/Your_Change_Proposal_Name.  This keeps all change proposals in the same namespace -->
<!-- The actual name of your proposed change page should look something like: Changes/Your_Change_Proposal_Name.  This keeps all change proposals in the same namespace -->


= Remove and deprecate nscd in favour of sssd and systemd-resolved <!-- The name of your change proposal --> =
= Remove and deprecate ''nscd'' in favour of ''sssd'' and ''systemd-resolved'' <!-- The name of your change proposal --> =


== Summary ==
== Summary ==
<!-- A sentence or two summarizing what this change is and what it will do. This information is used for the overall changeset summary page for each release.  
<!-- A sentence or two summarizing what this change is and what it will do. This information is used for the overall changeset summary page for each release.  
Note that motivation for the change should be in the Benefit to Fedora section below, and this part should answer the question "What?" rather than "Why?". -->
Note that motivation for the change should be in the Benefit to Fedora section below, and this part should answer the question "What?" rather than "Why?". -->
This proposal intends to replace the ''nscd'' cache for named services with ''systemd-resolved'' for the `hosts` database and the ''sssd'' daemon for everything else.


== Owner ==
== Owner ==
Line 14: Line 16:
This should link to your home wiki page so we know who you are.  
This should link to your home wiki page so we know who you are.  
-->
-->
* Name: [[User:FASAcountName| Your Name]]
 
* Name: [[User:submachine| Arjun Shankar]]
<!-- Include you email address that you can be reached should people want to contact you about helping with your change, status is requested, or technical issues need to be resolved. If the change proposal is owned by a SIG, please also add a primary contact person. -->
<!-- Include you email address that you can be reached should people want to contact you about helping with your change, status is requested, or technical issues need to be resolved. If the change proposal is owned by a SIG, please also add a primary contact person. -->
* Email: <your email address so we can contact you, invite you to meetings, etc. Please provide your Bugzilla email address if it is different from your email in FAS>
* Email: arjun@redhat.com
<!--- UNCOMMENT only for Changes with assigned Shepherd (by FESCo)
<!--- UNCOMMENT only for Changes with assigned Shepherd (by FESCo)
* FESCo shepherd: [[User:FASAccountName| Shehperd name]] <email address>
* FESCo shepherd: [[User:FASAccountName| Shehperd name]] <email address>
Line 36: Line 39:
[[Category:SystemWideChange]]
[[Category:SystemWideChange]]


* Targeted release: [[Releases/<number> | Fedora <number> ]]  
* Targeted release: [[Releases/34 | Fedora 34 ]]  
* Last updated: <!-- this is an automatic macro — you don't need to change this line -->  {{REVISIONYEAR}}-{{REVISIONMONTH}}-{{REVISIONDAY2}}  
* Last updated: <!-- this is an automatic macro — you don't need to change this line -->  {{REVISIONYEAR}}-{{REVISIONMONTH}}-{{REVISIONDAY2}}  
<!-- After the change proposal is accepted by FESCo, tracking bug is created in Bugzilla and linked to this page  
<!-- After the change proposal is accepted by FESCo, tracking bug is created in Bugzilla and linked to this page  
Line 51: Line 54:
== Detailed Description ==
== Detailed Description ==


<!-- Expand on the summary, if appropriate. A couple sentences suffices to explain the goal, but the more details you can provide the better. -->
''nscd'' is a daemon that provides caching for accesses of the `passwd`, `group`, `hosts`, `services`, and `netgroup` databases through standard libc interfaces (such as `getpwnam`, `getpwuid`, `getgrnam`, `getgrgid`, `gethostbyname`, etc.). This proposal intends to replace ''nscd'' functionality in Fedora with ''systemd-resolved'' for the `hosts` database and the ''sssd'' daemon for everything else.
 


<!--
== Feedback ==
== Feedback ==


<!-- Summarize the feedback from the community and address why you chose not to accept proposed alternatives. This section is optional for all change proposals but is strongly suggested. Incorporating feedback here as it is raised gives FESCo a clearer view of your proposal and leaves a good record for the future. If you get no feedback, that is useful to note in this section as well. For innovative or possibly controversial ideas, consider collecting feedback before you file the change proposal. -->
Summarize the feedback from the community and address why you chose not to accept proposed alternatives. This section is optional for all change proposals but is strongly suggested. Incorporating feedback here as it is raised gives FESCo a clearer view of your proposal and leaves a good record for the future. If you get no feedback, that is useful to note in this section as well. For innovative or possibly controversial ideas, consider collecting feedback before you file the change proposal. -->


== Benefit to Fedora ==
== Benefit to Fedora ==
While still maintained within the glibc source tree, ''nscd'' has received less than forty commits in the past three years and has gathered significant technical debt over time.  On the other hand, both ''sssd'' and ''systemd-resolved'' are actively developed.  sssd, which has a high level feature parity with nscd with the exception of the hosts cache, is not designed to be used alongside nscd.  In enterprise use-cases, sssd is already the preferred daemon, where nscd is recommended to be used ''alongside'' sssd [https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/system-level_authentication_guide/usingnscd-sssd if hosts caching is required].  In Fedora, systemd-resolved is already proposed to be enabled by default from [[Changes/systemd-resolved | Fedora 33 onwards]], further obsoleting nscd.  A seamless removal of nscd from Fedora will (a) migrate the user base over to a more modern solution for name services caching while maintaining feature parity and performance, and (b) reduce maintenance work for the glibc team.


<!-- What is the benefit to the distribution?  Will the software we generate be improved? How will the process of creating Fedora releases be improved?
<!-- What is the benefit to the distribution?  Will the software we generate be improved? How will the process of creating Fedora releases be improved?

Revision as of 14:37, 5 October 2020

Idea.png
Guidance
For details on how to fill out this form, see the documentation.


Remove and deprecate nscd in favour of sssd and systemd-resolved

Summary

This proposal intends to replace the nscd cache for named services with systemd-resolved for the hosts database and the sssd daemon for everything else.

Owner

Current status

  • Targeted release: Fedora 34
  • Last updated: 2020-10-05
  • FESCo issue: <will be assigned by the Wrangler>
  • Tracker bug: <will be assigned by the Wrangler>
  • Release notes tracker: <will be assigned by the Wrangler>

Detailed Description

nscd is a daemon that provides caching for accesses of the passwd, group, hosts, services, and netgroup databases through standard libc interfaces (such as getpwnam, getpwuid, getgrnam, getgrgid, gethostbyname, etc.). This proposal intends to replace nscd functionality in Fedora with systemd-resolved for the hosts database and the sssd daemon for everything else.


Benefit to Fedora

While still maintained within the glibc source tree, nscd has received less than forty commits in the past three years and has gathered significant technical debt over time. On the other hand, both sssd and systemd-resolved are actively developed. sssd, which has a high level feature parity with nscd with the exception of the hosts cache, is not designed to be used alongside nscd. In enterprise use-cases, sssd is already the preferred daemon, where nscd is recommended to be used alongside sssd if hosts caching is required. In Fedora, systemd-resolved is already proposed to be enabled by default from Fedora 33 onwards, further obsoleting nscd. A seamless removal of nscd from Fedora will (a) migrate the user base over to a more modern solution for name services caching while maintaining feature parity and performance, and (b) reduce maintenance work for the glibc team.


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)
  • Alignment with Objectives:

Upgrade/compatibility impact

N/A (not a System Wide Change)

How To Test

N/A (not a System Wide Change)

User Experience

Dependencies

N/A (not a System Wide Change)

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

N/A (not a System Wide Change)

Release Notes