eb42b10 opendnssecinstance: use late binding for UID/GID resolution

Authored and Committed by abbra 3 years ago
    opendnssecinstance: use late binding for UID/GID resolution
    
    Move actual resolution of UID/GID values for 'ods' and 'named' entities
    to the code that needs them. This prevents failures when uninstalling
    IPA server set up without DNS feature. In particular, 'named' group is
    created when 'bind' package is installed and if 'bind' package is not
    installed, uninstall fails in OpenDNSSEC instance constructor.
    
    We use common pattern for all services during uninstall:
    
     svc = SVCClass(..)
     if svc.is_configured()
         svc.uninstall()
    
    This requires that the class constructor should not rely on artifacts
    that only exist when the service is configured.
    
    Fixes: https://pagure.io/freeipa/issue/8630
    
    Signed-off-by: Alexander Bokovoy <abokovoy@redhat.com>
    Reviewed-By: Christian Heimes <cheimes@redhat.com>
    Reviewed-By: Stanislav Levin <slev@altlinux.org>