[PATCH] Finally run bind9_dlz spnego test, fix drs delete behaviour

Andrew Bartlett abartlet at samba.org
Sun Jun 9 04:28:10 MDT 2013


On Sat, 2013-06-08 at 22:20 +1000, Andrew Bartlett wrote:
> On Tue, 2013-06-04 at 22:03 +1000, Andrew Bartlett wrote:
> > On Tue, 2013-06-04 at 16:39 +1000, Andrew Bartlett wrote:
> > > On Mon, 2013-06-03 at 22:27 +1000, Andrew Bartlett wrote:
> > > > On Sun, 2013-06-02 at 23:05 +1000, Andrew Bartlett wrote:
> > > > > I've been frustrated for over 6 months by why adding some 'simple' tests
> > > > > to confirm that some of the crypto in the bind9_dlz code works because
> > > > > it suddenly broke make test, particularly dbcheck.
> > > > > 
> > > > > The attached patches just passed a private autobuild.  They add the
> > > > > 'problem' tests, but first we fix the behaviour of DRS-initiated object
> > > > > deletes.
> > > > > 
> > > > > Please review/push/comment (this patch series includes the usnChanged
> > > > > series I posted a few days ago). 
> > > > > 
> > > > > >From here, I would like to continue to improve the tests - the tests in
> > > > > source4/torture/drs/python/delete_object.py could be trivially extended
> > > > > to add a 'description' and 'memberOf' element that we should ensure gets
> > > > > deleted on both hosts, for example.  We could also watch usnChanged
> > > > > values to ensure we delete the right stuff, but for now I'm simply
> > > > > stunned that this could ever have worked with this incorrect!
> > > > 
> > > > Just as a heads-up I'm continuing to work on these patches.  The point
> > > > tests I added (rather than just waiting for the dbcheck) show the issue
> > > > isn't totally resolved, but is better.  (I somehow found a
> > > > member/memberOf link left over...).
> > > > 
> > > > Review of this much would be helpful, but expect additional changes as
> > > > we finally start to get this right.  
> > > 
> > > I've not finished the patch yet, but what seems clear is that the issue
> > > comes from processing (rather that dropping/ignoring, as we should)
> > > linked attributes and to deleted objects. 
> > 
> > I'm almost shocked to finally have this finished, given how long this
> > problem has dogged me.  The patches are in my fix-drs-testing-14 branch,
> > and attached.
> > 
> > Not only does this open up the chance to do more DRS testing, and more
> > unrelated fixes to DRS replication (now that adding tests does not
> > suddenly cause 'unrelated' breakages), it also allows us to resume
> > adding tests of the bind9 DLZ module, which stalled out when adding
> > bind9 tests broke stuff.
> > 
> > The patches handle both normal and linked attributes, following all the
> > special rules for deleted objects. 
> 
> I've worked with metze on this, and I'm up to patch set #19...
> 
> fix-drs-testing-19 is the patch set I'm happy with.  It passed an
> autobuild for me except for the unexpected success of a dbcheck test.
> I've now squashed in the knownfail removal, and am doing two autobuilds
> to see how it goes. 

These failed, but I think it's again 'in a good way'.  That is, the
failure is because we now replicate more things properly, and so we have
a repsFrom that points to a deleted DC.  The server code gives an error
in this case, as it can't find a non-deleted DN for the GUID.  We should
either return success with a NULL DN, or show the deleted DN, I'll try
and induce the same behaviour and check with windows.

The error I get is:

[1571/1582 in 1h37m38s] samba.tests.blackbox.samba_tool_drs
waiting for tail to flush
UNEXPECTED(error):
samba.tests.blackbox.samba_tool_drs.samba.tests.blackbox.samba_tool_drs.SambaToolDrsTests.test_samba_tool_showrepl(promoted_dc)
REASON: _StringException: _StringException: Content-Type:
text/x-traceback;charset=utf8,language=python
traceback
3E0
Traceback (most recent call last):
  File "/usr/lib/python2.6/dist-packages/testtools/runtest.py", line
128, in _run_user
    return fn(*args)
  File "/usr/lib/python2.6/dist-packages/testtools/testcase.py", line
368, in _run_test_method
    testMethod()
  File "bin/python/samba/tests/blackbox/samba_tool_drs.py", line 76, in
test_samba_tool_showrepl
    self.cmdline_creds))
  File "bin/python/samba/tests/__init__.py", line 166, in check_output
    raise BlackboxProcessError(retcode, line, p.stdout.read(),
p.stderr.read())
BlackboxProcessError: Command
'/memdisk/abartlet/b547317/samba/bin/samba-tool drs showrepl localdc
-USAMBADOMAIN/Administrator%locDCpass1'; exit status 255; stdout:
'Default-First-Site-Name\LOCALDC
DSA Options: 0x00000001
DSA object GUID: 8d8f95a2-f293-4d41-9262-3a3be2e4e125
DSA invocationId: d8fd9e63-b2c9-49c5-bd54-ce4f05d097ef

==== INBOUND NEIGHBORS ====

'; stderr: 'ERROR(runtime): DsReplicaGetInfo of type 0 failed - (8442,
'WERR_DS_DRA_INTERNAL_ERROR')
'
0

FAILED (0 failures, 1 errors and 0 unexpected successes in 0 testsuites)

A summary with detailed information can be found in:
  ./bin/ab/summary
test: running
(/usr/bin/perl /memdisk/abartlet/b547317/samba/selftest/selftest.pl
--target=samba --prefix=./bin/ab
--srcdir=/memdisk/abartlet/b547317/samba
--exclude=/memdisk/abartlet/b547317/samba/selftest/skip
--testlist="/usr/bin/python /memdisk/abartlet/b547317/samba/selftest/tests.py|" --testlist="/usr/bin/python /memdisk/abartlet/b547317/samba/source3/selftest/tests.py|" --testlist="/usr/bin/python /memdisk/abartlet/b547317/samba/source4/selftest/tests.py|" --binary-mapping=nmblookup3:nmblookup,nmblookup4:nmblookup4,smbclient3:smbclient,smbclient4:smbclient4,smbtorture4:smbtorture,ntlm_auth3:ntlm_auth --exclude=/memdisk/abartlet/b547317/samba/selftest/slow --socket-wrapper  && touch ./bin/ab/st_done) | /usr/bin/python -u /memdisk/abartlet/b547317/samba/selftest/filter-subunit --expected-failures=/memdisk/abartlet/b547317/samba/selftest/knownfail --flapping=/memdisk/abartlet/b547317/samba/selftest/flapping --fail-immediately | tee ./bin/ab/subunit | /usr/bin/python -u /memdisk/abartlet/b547317/samba/selftest/format-subunit --prefix=./bin/ab --immediate
ERROR: test failed with exit code 1

==> samba.stderr <==
../source4/dsdb/kcc/kcc_drs_replica_info.c:540: Failed to find DN for
neighbor GUID 096e2143-66cf-448e-8d94-958b31b81bdb

-- 
Andrew Bartlett                                http://samba.org/~abartlet/
Authentication Developer, Samba Team           http://samba.org




More information about the samba-technical mailing list