ipatests: use fully qualified name for AD admin when establishing trust

Changes in https://pagure.io/freeipa/issue/8655 made it impossible
to use AD admin name without domain part in "ipa trust-add" command to
establish external trust with an AD tree domain.
Also use fully qualified admin name by default in all trust related tests
to reduce abiguity

Reviewed-By: Christian Heimes <cheimes@redhat.com>
Reviewed-By: Rob Crittenden <rcritten@redhat.com>
This commit is contained in:
Sergey Orlov authored and Rob Crittenden committed 2021-01-22 12:21:33 -05:00
1 parent 214aeb7243
commit 9d19c08269
2 files changed
+15 -9

No files matched your search

+7 -2
View File
@@ -661,7 +661,7 @@ def unconfigure_windows_dns_for_trust(ad, master):
ad.run_command(['dnscmd', '/zonedelete', master.domain.name, '/f'])
def establish_trust_with_ad(master, ad_domain, extra_args=(),
def establish_trust_with_ad(master, ad_domain, ad_admin=None, extra_args=(),
shared_secret=None):
"""
Establishes trust with Active Directory. Trust type is detected depending
@@ -669,6 +669,9 @@ def establish_trust_with_ad(master, ad_domain, extra_args=(),
Use extra arguments to pass extra arguments to the trust-add command, such
as --range-type="ipa-ad-trust" to enforce a particular range type.
If ad_admin is not provided, name will be constructed as
"Administrator@<ad_domain>".
"""
# Force KDC to reload MS-PAC info by trying to get TGT for HTTP
@@ -686,7 +689,9 @@ def establish_trust_with_ad(master, ad_domain, extra_args=(),
extra_args += ['--trust-secret']
stdin_text = shared_secret
else:
extra_args += ['--admin', 'Administrator', '--password']
if ad_admin is None:
ad_admin = 'Administrator@{}'.format(ad_domain)
extra_args += ['--admin', ad_admin, '--password']
stdin_text = master.config.ad_admin_password
run_repeatedly(
master, ['ipa', 'trust-add', '--type', 'ad', ad_domain] + extra_args,
+8 -7
View File
@@ -462,7 +462,7 @@ class TestTrust(BaseTestTrust):
result = self.master.run_command(
['ipa', 'trust-add', '--type', 'ad', self.ad_domain,
'--admin', 'Administrator',
'--admin', 'Administrator@' + self.ad_domain,
'--range-type', range_type, '--password'],
raiseonerr=False,
stdin_text=self.master.config.ad_admin_password)
@@ -513,8 +513,8 @@ class TestTrust(BaseTestTrust):
result = self.master.run_command([
'ipa', 'trust-add', '--type', 'ad', self.ad_subdomain,
'--admin',
'Administrator', '--password', '--range-type', 'ipa-ad-trust'
'--admin', 'Administrator@' + self.ad_subdomain,
'--password', '--range-type', 'ipa-ad-trust'
], stdin_text=self.master.config.ad_admin_password,
raiseonerr=False)
@@ -565,8 +565,8 @@ class TestTrust(BaseTestTrust):
result = self.master.run_command([
'ipa', 'trust-add', '--type', 'ad', self.ad_treedomain,
'--admin',
'Administrator', '--password', '--range-type', 'ipa-ad-trust'
'--admin', 'Administrator@' + self.ad_treedomain,
'--password', '--range-type', 'ipa-ad-trust'
], stdin_text=self.master.config.ad_admin_password,
raiseonerr=False)
@@ -775,8 +775,9 @@ class TestTrust(BaseTestTrust):
# Check that trust can not be established without --server option
# This checks that our setup is correct
result = self.master.run_command(
['ipa', 'trust-add', self.ad.domain.name,
'--admin', 'Administrator', '--password'], raiseonerr=False,
['ipa', 'trust-add', self.ad_domain,
'--admin', 'Administrator@' + self.ad_domain, '--password'],
raiseonerr=False,
stdin_text=self.master.config.ad_admin_password)
assert result.returncode == 1
assert 'CIFS server communication error: code "3221225653", ' \