eca2281 odsexporterinstance: use late binding for UID/GID resolution

Authored and Committed by abbra 3 years ago
    odsexporterinstance: use late binding for UID/GID resolution
    
    Move actual resolution of UID/GID values for 'ods' entities to the code
    that needs them. This prevents failures when uninstalling IPA server set
    up without DNS feature. In particular, 'ods' user and group are created
    when 'opendnssec' package is installed and if 'opendnssec' package is
    not installed, uninstall fails in OpenDNSSEC Exporter instance
    constructor.
    
    We use common pattern of checking the service during uninstall:
    
     svc = SVCClass()
     if svc.is_configured():
        svc.uninstall()
    
    Thus, service class constructor must not do UID/GID resolution
    
    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>