From: Andrew Bartlett Date: Mon, 18 Jul 2016 03:53:20 +0000 (+1200) Subject: selftest: Make repl_schema more robust by disabling replication before the test X-Git-Tag: tdb-1.3.10~346 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=6145da66efa732aabf6788e7e3c15fe10b0f6218;p=thirdparty%2Fsamba.git selftest: Make repl_schema more robust by disabling replication before the test We also ensure the two DCs are in sync before the test starts Signed-off-by: Andrew Bartlett Reviewed-by: Douglas Bagnall --- diff --git a/source4/torture/drs/python/repl_schema.py b/source4/torture/drs/python/repl_schema.py index 73027010f86..0bc6d33651a 100644 --- a/source4/torture/drs/python/repl_schema.py +++ b/source4/torture/drs/python/repl_schema.py @@ -53,6 +53,13 @@ class DrsReplSchemaTestCase(drs_base.DrsBaseTestCase): def setUp(self): super(DrsReplSchemaTestCase, self).setUp() + # disable automatic replication temporary + self._disable_inbound_repl(self.dnsname_dc1) + self._disable_inbound_repl(self.dnsname_dc2) + + # make sure DCs are synchronized before the test + self._net_drs_replicate(DC=self.dnsname_dc2, fromDC=self.dnsname_dc1, forced=True) + self._net_drs_replicate(DC=self.dnsname_dc1, fromDC=self.dnsname_dc2, forced=True) # initialize objects prefix if not done yet if self.obj_prefix is None: t = time.strftime("%s", time.gmtime()) @@ -142,7 +149,7 @@ class DrsReplSchemaTestCase(drs_base.DrsBaseTestCase): # add new classSchema object (c_ldn, c_dn) = self._schema_new_class(self.ldb_dc1, "cls-S", 0) # force replication from DC1 to DC2 - self._net_drs_replicate(DC=self.dnsname_dc2, fromDC=self.dnsname_dc1, nc_dn=self.schema_dn) + self._net_drs_replicate(DC=self.dnsname_dc2, fromDC=self.dnsname_dc1, nc_dn=self.schema_dn, forced=True) # check object is replicated self._check_object(c_dn) @@ -166,7 +173,7 @@ class DrsReplSchemaTestCase(drs_base.DrsBaseTestCase): # store last class ldapDisplayName c_ldn_last = c_ldn # force replication from DC1 to DC2 - self._net_drs_replicate(DC=self.dnsname_dc2, fromDC=self.dnsname_dc1, nc_dn=self.schema_dn) + self._net_drs_replicate(DC=self.dnsname_dc2, fromDC=self.dnsname_dc1, nc_dn=self.schema_dn, forced=True) # check objects are replicated for c_dn in c_dn_list: self._check_object(c_dn) @@ -190,7 +197,7 @@ class DrsReplSchemaTestCase(drs_base.DrsBaseTestCase): {"objectClass": ["top", "classSchema", c_ldn], a_ldn: "test_classWithCustomAttribute"}) # force replication from DC1 to DC2 - self._net_drs_replicate(DC=self.dnsname_dc2, fromDC=self.dnsname_dc1, nc_dn=self.schema_dn) + self._net_drs_replicate(DC=self.dnsname_dc2, fromDC=self.dnsname_dc1, nc_dn=self.schema_dn, forced=True) # check objects are replicated self._check_object(c_dn) self._check_object(a_dn) @@ -200,7 +207,7 @@ class DrsReplSchemaTestCase(drs_base.DrsBaseTestCase): # add new attributeSchema object (a_ldn, a_dn) = self._schema_new_attr(self.ldb_dc1, "attr-S", 2) # force replication from DC1 to DC2 - self._net_drs_replicate(DC=self.dnsname_dc2, fromDC=self.dnsname_dc1, nc_dn=self.schema_dn) + self._net_drs_replicate(DC=self.dnsname_dc2, fromDC=self.dnsname_dc1, nc_dn=self.schema_dn, forced=True) # check object is replicated self._check_object(a_dn) @@ -228,7 +235,7 @@ class DrsReplSchemaTestCase(drs_base.DrsBaseTestCase): self.ldb_dc1.add(rec) # force replication from DC1 to DC2 - self._net_drs_replicate(DC=self.dnsname_dc2, fromDC=self.dnsname_dc1, nc_dn=self.domain_dn) + self._net_drs_replicate(DC=self.dnsname_dc2, fromDC=self.dnsname_dc1, nc_dn=self.domain_dn, forced=True) # check objects are replicated self._check_object(c_dn) self._check_object(a_dn) @@ -253,7 +260,7 @@ class DrsReplSchemaTestCase(drs_base.DrsBaseTestCase): self.ldb_dc1.modify(m) # force replication from DC1 to DC2 - self._net_drs_replicate(DC=self.dnsname_dc2, fromDC=self.dnsname_dc1, nc_dn=self.schema_dn) + self._net_drs_replicate(DC=self.dnsname_dc2, fromDC=self.dnsname_dc1, nc_dn=self.schema_dn, forced=True) # check objects are replicated self._check_object(c_dn)