1
0
mirror of https://github.com/samba-team/samba.git synced 2025-12-23 00:23:53 +03:00

python/samba/tests: Remove DCs joined to test samba-tool behaviour

Otherwise we have the live DCs spamming the logs looking for the
long-gone test servers:

Failed to connect host fd00::5357:5f0b on port 135 - NT_STATUS_OBJECT_NAME_NOT_FOUND
Failed to connect host fd00::5357:5f0b (6f44653d-18c8-4bf4-b2e7-6f85cf7b0f74._msdcs.addom.samba.example.com) on port 135 - NT_STATUS_OBJECT_NAME_NOT_FOUND.
Failed to connect host 10.53.57.11 on port 135 - NT_STATUS_OBJECT_NAME_NOT_FOUND
Failed to connect host 10.53.57.11 (6f44653d-18c8-4bf4-b2e7-6f85cf7b0f74._msdcs.addom.samba.example.com) on port 135 - NT_STATUS_OBJECT_NAME_NOT_FOUND.
Failed to connect host 10.53.57.12 on port 135 - NT_STATUS_OBJECT_NAME_NOT_FOUND

This avoids spamming the GitLab pipeline logs with a lot of noise,
as there is a size limit to the output, as well as being cleaner.

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Gary Lockyer <gary@catalyst.net.nz>
This commit is contained in:
Andrew Bartlett
2021-06-18 20:46:51 +12:00
committed by Gary Lockyer
parent 84de4eb19e
commit e9e6d1569b
4 changed files with 37 additions and 3 deletions

View File

@@ -185,12 +185,15 @@ class DomainBackupOfflineCmp(BlackboxTestCase):
def join(self, backend): def join(self, backend):
target = tempfile.mkdtemp(dir=self.tempdir) target = tempfile.mkdtemp(dir=self.tempdir)
new_dc_name = "offlinebackupdc"
join_cmd = "samba-tool domain join {domain} DC " +\ join_cmd = "samba-tool domain join {domain} DC " +\
"--server {server} " +\ "--server {server} " +\
"--realm {realm} " +\ "--realm {realm} " +\
"--username {username}%{password} " +\ "--username {username}%{password} " +\
"--targetdir {target} " +\ "--targetdir {target} " +\
"--backend-store {backend} " +\ "--backend-store {backend} " +\
"--option='netbios name = {new_dc_name}' " +\
"--option=\"vfs objects=dfs_samba4 acl_xattr fake_acls xattr_tdb\"" "--option=\"vfs objects=dfs_samba4 acl_xattr fake_acls xattr_tdb\""
join_cmd = join_cmd.format(server=os.environ["DC_SERVER"], join_cmd = join_cmd.format(server=os.environ["DC_SERVER"],
domain=os.environ["DOMAIN"], domain=os.environ["DOMAIN"],
@@ -198,9 +201,21 @@ class DomainBackupOfflineCmp(BlackboxTestCase):
username=os.environ["USERNAME"], username=os.environ["USERNAME"],
password=os.environ["PASSWORD"], password=os.environ["PASSWORD"],
target=target, target=target,
backend=backend) backend=backend,
new_dc_name=new_dc_name)
self.check_output(join_cmd) self.check_output(join_cmd)
demote_cmd = "samba-tool domain demote " +\
"--server {server} " +\
"--username {username}%{password} " +\
"--remove-other-dead-server={new_dc_name}"
demote_cmd = demote_cmd.format(server=os.environ["DC_SERVER"],
username=os.environ["USERNAME"],
password=os.environ["PASSWORD"],
new_dc_name=new_dc_name)
self.check_output(demote_cmd)
return target return target
def backup(self, prov_dir): def backup(self, prov_dir):

View File

@@ -21,6 +21,7 @@
# #
# These can all be accesses via os.environ["VARIBLENAME"] when needed # These can all be accesses via os.environ["VARIBLENAME"] when needed
import os
import random import random
import string import string
from samba.auth import system_session from samba.auth import system_session
@@ -150,3 +151,13 @@ class SambaToolCmdTest(samba.tests.BlackboxTestCase):
def assertWithin(self, val1, val2, delta, msg=""): def assertWithin(self, val1, val2, delta, msg=""):
"""Assert that val1 is within delta of val2, useful for time computations""" """Assert that val1 is within delta of val2, useful for time computations"""
self.assertTrue(((val1 + delta) > val2) and ((val1 - delta) < val2), msg) self.assertTrue(((val1 + delta) > val2) and ((val1 - delta) < val2), msg)
def cleanup_join(self, netbios_name):
(result, out, err) \
= self.runsubcmd("domain",
"demote",
("--remove-other-dead-server=%s " % netbios_name),
("-U%s%%%s" % (os.environ["USERNAME"], os.environ["PASSWORD"])),
("--server=%s" % os.environ["SERVER"]))
self.assertCmdSuccess(result, out, err)

View File

@@ -47,7 +47,11 @@ class JoinLmdbSizeTestCase(SambaToolCmdTest):
if size: if size:
command += ("--backend-store-size=%s" % size) command += ("--backend-store-size=%s" % size)
return self.run_command(command) (ret, stdout, stderr) = self.run_command(command)
if ret == 0:
self.cleanup_join(self.netbios_name)
return (ret, stdout, stderr)
def is_rodc(self): def is_rodc(self):
url = "ldb://%s/private/sam.ldb" % self.tempsambadir url = "ldb://%s/private/sam.ldb" % self.tempsambadir

View File

@@ -60,7 +60,11 @@ class PromoteDcLmdbSizeTestCase(SambaToolCmdTest):
if size: if size:
command += ("--backend-store-size=%s" % size) command += ("--backend-store-size=%s" % size)
return self.run_command(command) (ret, stdout, stderr) = self.run_command(command)
if ret == 0:
self.cleanup_join(self.netbios_name)
return (ret, stdout, stderr)
def is_rodc(self): def is_rodc(self):
url = "ldb://%s/private/sam.ldb" % self.tempsambadir url = "ldb://%s/private/sam.ldb" % self.tempsambadir