URL: https://github.com/freeipa/freeipa/pull/5376 Author: abbra Title: #5376: Fix uninstall without dns Action: opened
PR body: """ Service constructors are called even when the service itself is not configured. A common pattern in FreeIPA code is to instantiate a service and check whether it is configured, then perform uninstall of the service configuration. This fails if the service constructor does depend on the artifacts only present if other (relevant to the service) packages were installed.
A common pattern is: ``` svc = SVCClass(..) if svc.is_configured(): svc.uninstall() ```
Most of DNS-related service classes do resolution of UID/GIDs for ODS and NAMED in their constructors which breaks uninstallation of a DNS-less FreeIPA deployment because neither 'bind' nor 'opendnssec' packages are not installed and user and group they provide are not available in the system.
Fixes: https://pagure.io/freeipa/issue/8630 """
To pull the PR as Git branch: git remote add ghfreeipa https://github.com/freeipa/freeipa git fetch ghfreeipa pull/5376/head:pr5376 git checkout pr5376