Selftest environment interdependency graph
Ralph Böhme
slow at samba.org
Mon Jan 8 09:30:34 UTC 2018
On Mon, Jan 08, 2018 at 10:19:41AM +0100, Andreas Schneider via samba-technical wrote:
> On Monday, 8 January 2018 10:12:16 CET Andrew Bartlett wrote:
> > On Mon, 2018-01-08 at 10:06 +0100, Andreas Schneider via samba-
> >
> > technical wrote:
> > > On Monday, 8 January 2018 07:16:17 CET Jamie McClymont via samba-technical
> > >
> > > wrote:
> > > > Hi all,
> > > >
> > > > I've been having a look at parallelisation of the testing process. To
> > > > that end, I have, through the Perl-parsing power of regex(!), created a
> > > > graph of dependencies between envs, including the time used running
> > > > suites for each env in one run on the catalyst cloud. This is attached
> > > > as svg for your viewing pleasure.
> > >
> > > Hi Jamie,
> > >
> > > looking at the graph we see that some things should be changed. Metze and
> > > I
> > > looked into moving ad_member to ad_dc:
> > >
> > > https://git.samba.org/?p=asn/
> > > samba.git;a=commitdiff;h=7f8dc6ff0662b5e3f6bfeab30139f1de37fc2edf
> > >
> > > However we got sidetracked by other stuff. So it doesn't work yet. There
> > > are several tests failing for unknown reasons.
> > >
> > > More WIP is here:
> > > https://git.samba.org/?p=asn/samba.git;a=shortlog;h=refs/heads/master-self
> > > test
> > Yeah, there is much still to untangle here. The NT4 stuff should be
> > really simple to split out, but every time I try I get very odd
> > failures, like the ones Jamie already chased down, and now this one:
> >
> > UNEXPECTED(failure): samba4.winbind.wbclient.wbcListUsers(nt4_dc:local)
> > REASON: Exception: Exception:
> > ../nsswitch/libwbclient/tests/wbclient.c:361: wbcLookupUserSids(&sid,
> > 1, &num_sids, &sids) was WBC_ERR_DOMAIN_NOT_FOUND, expected
> > WBC_ERR_SUCCESS: wbcLookupUserSids of S-1-5-21-2923062406-1030520007-
> > 827082798-1158 failed
>
> I think this is the test we also hit last time and then got sidetracked :-(
>
> A problem is that a lot of tests taint environments and do not clean up.
> Leaving test users around or use the Administrator account and change that
> than creating a temporary user :-(
I just ran into a similar issue in the nt4_member environment: setup uses net
join, not net rpc join, so the the join when attempted with ADS fails which
triggers creating of a record for the DCs *IP* in the negative conncection
cache.
This caused interesting, timing dependent failure modes later in
winbindd. There, some codepatch check the negative connection cache with the
server name (init_dc_connection), others use the the IP
(check_domain_online_handler).
Attached patch fixed the issue for me by using net rpc join in the selftest
setup. Please review & push if happy.
-slow
--
Ralph Boehme, Samba Team https://samba.org/
Samba Developer, SerNet GmbH https://sernet.de/en/samba/
-------------- next part --------------
From a813eb40f6fb69d93c97b3798555fee35cdefa01 Mon Sep 17 00:00:00 2001
From: Ralph Boehme <slow at samba.org>
Date: Sat, 6 Jan 2018 12:27:27 +0100
Subject: [PATCH] selftest: use net rpc join when joining NT4-style domains
Otherwise net join when failing at the CLDAP ping stage will put a
negative entry for the DC in the conncache which can trigger *hard* to
debug problems later in winbindd.
Signed-off-by: Ralph Boehme <slow at samba.org>
---
selftest/target/Samba3.pm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/selftest/target/Samba3.pm b/selftest/target/Samba3.pm
index 1e652d8e3f5..f5e64725acf 100755
--- a/selftest/target/Samba3.pm
+++ b/selftest/target/Samba3.pm
@@ -347,7 +347,7 @@ sub setup_nt4_member($$$)
my $cmd = "";
$cmd .= "SOCKET_WRAPPER_DEFAULT_IFACE=\"$ret->{SOCKET_WRAPPER_DEFAULT_IFACE}\" ";
$cmd .= "SELFTEST_WINBINDD_SOCKET_DIR=\"$ret->{SELFTEST_WINBINDD_SOCKET_DIR}\" ";
- $cmd .= "$net join $ret->{CONFIGURATION} $nt4_dc_vars->{DOMAIN} member";
+ $cmd .= "$net rpc join $ret->{CONFIGURATION} $nt4_dc_vars->{DOMAIN} member";
$cmd .= " -U$nt4_dc_vars->{USERNAME}\%$nt4_dc_vars->{PASSWORD}";
if (system($cmd) != 0) {
--
2.13.6
More information about the samba-technical
mailing list