cfa2e39 ipatests: allow AD hosts to be placed in separate domain config objects

Authored and Committed by sorlov 5 years ago
    ipatests: allow AD hosts to be placed in separate domain config objects
    
    Tests for AD trust can use three types (roles) of AD machines:
    forest root, subdomain and tree domain.
    All those machines were placed in one domain object of multihost configuration,
    though they all have different domain names.
    This is bad as we can not use domain attributes provided by multihost plugin
    like host.domain.name and host.domain.basedn and others and need to reimplement
    them, evaluating domain name from host.hostname.
    And if we accidently used those properties it would lead to difficult to locate
    errors (we would use same domain name for all AD hosts).
    I modified multihost fixture function mh() to allow creating several AD domains.
    As multihost plugin does not support requesting multiple domains with the same type,
    I had to introduce new domain types: AD_SUBDOMAIN and AD_TREEDOMAIN.
    Also there was a error in mh() which forced user to provide all three AD
    machines when only one was needed (value from test class property num_ad_domains
    was applied to subdomains and treedomains requirement).
    I changed this behavior and now additional AD machines are specified with
    properties num_ad_subdomains and num_ad_treedomains.
    
    Related to https://pagure.io/freeipa/issue/7889
    
    Reviewed-By: Alexander Bokovoy <abokovoy@redhat.com>