From Fedora Project Wiki

Revision as of 14:37, 5 October 2020 by Submachine (talk | contribs) (Initial summary and benefit)

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