summaryrefslogtreecommitdiff
path: root/selftest
diff options
context:
space:
mode:
authorAndrew Bartlett <abartlet@samba.org>2016-11-30 17:09:44 +1300
committerAndrew Bartlett <abartlet@samba.org>2016-12-01 05:54:21 +0100
commit62e19e6b4ac1d0d0325d18516082bc14ce2fa50c (patch)
treef0738cd41663b8e1798ae4f4720f6ed83f9bd623 /selftest
parent07df896a34bc0f776fe98ac16fc5dac38e494d92 (diff)
downloadsamba-62e19e6b4ac1d0d0325d18516082bc14ce2fa50c.tar.gz
selftest: Ensure vampiredc has a full copy of localdc before we start
Otherwise we may fail tests because we are still pulling in the full replica from localdc during the tests. This may block RID allocation in particular. Signed-off-by: Andrew Bartlett <abartlet@samba.org> Reviewed-by: Garming Sam <garming@catalyst.net.nz>
Diffstat (limited to 'selftest')
-rwxr-xr-xselftest/target/Samba4.pm27
1 files changed, 27 insertions, 0 deletions
diff --git a/selftest/target/Samba4.pm b/selftest/target/Samba4.pm
index caf46b26c86..ec91f001b94 100755
--- a/selftest/target/Samba4.pm
+++ b/selftest/target/Samba4.pm
@@ -2268,6 +2268,33 @@ sub setup_vampire_dc($$$)
warn("Failed to replicate\n$cmd_repl");
return undef;
}
+
+ # Pull in a full set of changes from the main DC
+ my $base_dn = "DC=".join(",DC=", split(/\./, $dc_vars->{REALM}));
+ $cmd = "";
+ $cmd .= "SOCKET_WRAPPER_DEFAULT_IFACE=\"$env->{SOCKET_WRAPPER_DEFAULT_IFACE}\" ";
+ if (defined($env->{RESOLV_WRAPPER_CONF})) {
+ $cmd .= "RESOLV_WRAPPER_CONF=\"$env->{RESOLV_WRAPPER_CONF}\" ";
+ } else {
+ $cmd .= "RESOLV_WRAPPER_HOSTS=\"$env->{RESOLV_WRAPPER_HOSTS}\" ";
+ }
+ $cmd .= " KRB5_CONFIG=\"$env->{KRB5_CONFIG}\"";
+ $cmd .= "KRB5CCNAME=\"$env->{KRB5_CCACHE}\" ";
+ $cmd .= " $samba_tool drs replicate $env->{SERVER} $env->{DC_SERVER}";
+ $cmd .= " $dc_vars->{CONFIGURATION}";
+ $cmd .= " -U$dc_vars->{DC_USERNAME}\%$dc_vars->{DC_PASSWORD}";
+ # replicate Configuration NC
+ my $cmd_repl = "$cmd \"CN=Configuration,$base_dn\"";
+ unless(system($cmd_repl) == 0) {
+ warn("Failed to replicate\n$cmd_repl");
+ return undef;
+ }
+ # replicate Default NC
+ $cmd_repl = "$cmd \"$base_dn\"";
+ unless(system($cmd_repl) == 0) {
+ warn("Failed to replicate\n$cmd_repl");
+ return undef;
+ }
}
return $env;