diff options
author | Bob Campbell <bobcampbell@catalyst.net.nz> | 2017-02-08 09:16:41 +1300 |
---|---|---|
committer | Andrew Bartlett <abartlet@samba.org> | 2017-02-14 02:20:07 +0100 |
commit | 1983d078f62d1e4f6597ef549f576e72285b25a5 (patch) | |
tree | ff3d1c82c20f2f5cff5c21c1953135358b3ffb6f | |
parent | 305cdcea8851d389aa7c6b9da69441c2aacee432 (diff) | |
download | samba-1983d078f62d1e4f6597ef549f576e72285b25a5.tar.gz |
selftest: add vampire_2000_dc environment
This is the equivalent of vampire_dc, but using a domain functional
level of DS_DOMAIN_FUNCTION_2000.
Using this functional level is useful for tests involving replication
and linked attributes, as they behave differently at it.
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Garming Sam <garming@catalyst.net.nz>
BUG: https://bugzilla.samba.org/show_bug.cgi?id=11139
Pair-programmed-with: Bob Campbell <bobcampbell@catalyst.net.nz>
-rwxr-xr-x | selftest/selftest.pl | 7 | ||||
-rw-r--r-- | selftest/target/Samba.pm | 1 | ||||
-rwxr-xr-x | selftest/target/Samba4.pm | 46 |
3 files changed, 39 insertions, 15 deletions
diff --git a/selftest/selftest.pl b/selftest/selftest.pl index bfc8d7f7d91..45e0ae0451f 100755 --- a/selftest/selftest.pl +++ b/selftest/selftest.pl @@ -811,6 +811,13 @@ my @exported_envvars = ( "VAMPIRE_DC_NETBIOSNAME", "VAMPIRE_DC_NETBIOSALIAS", + # domain controller stuff for FL 2000 Vampired DC + "VAMPIRE_2000_DC_SERVER", + "VAMPIRE_2000_DC_SERVER_IP", + "VAMPIRE_2000_DC_SERVER_IPV6", + "VAMPIRE_2000_DC_NETBIOSNAME", + "VAMPIRE_2000_DC_NETBIOSALIAS", + "PROMOTED_DC_SERVER", "PROMOTED_DC_SERVER_IP", "PROMOTED_DC_SERVER_IPV6", diff --git a/selftest/target/Samba.pm b/selftest/target/Samba.pm index 24484c970e7..e5c7f93fe03 100644 --- a/selftest/target/Samba.pm +++ b/selftest/target/Samba.pm @@ -308,6 +308,7 @@ sub get_interface($) $interfaces{"fakednsforwarder1"} = 36; $interfaces{"fakednsforwarder2"} = 37; $interfaces{"s4member_dflt"} = 38; + $interfaces{"vampire2000dc"} = 39; # update lib/socket_wrapper/socket_wrapper.c # #define MAX_WRAPPED_INTERFACES 40 diff --git a/selftest/target/Samba4.pm b/selftest/target/Samba4.pm index dacdab40ac8..8b5e699389b 100755 --- a/selftest/target/Samba4.pm +++ b/selftest/target/Samba4.pm @@ -1246,15 +1246,20 @@ sub provision_promoted_dc($$$) sub provision_vampire_dc($$$) { - my ($self, $prefix, $dcvars) = @_; - print "PROVISIONING VAMPIRE DC...\n"; + my ($self, $prefix, $dcvars, $fl) = @_; + print "PROVISIONING VAMPIRE DC @ FL $fl...\n"; + my $name = "localvampiredc"; + + if ($fl == "2000") { + $name = "vampire2000dc"; + } # We do this so that we don't run the provision. That's the job of 'net vampire'. my $ctx = $self->provision_raw_prepare($prefix, "domain controller", - "localvampiredc", - "SAMBADOMAIN", - "samba.example.com", - "2008", + $name, + $dcvars->{DOMAIN}, + $dcvars->{REALM}, + $fl, $dcvars->{PASSWORD}, $dcvars->{SERVER_IP}, $dcvars->{SERVER_IPV6}); @@ -1299,11 +1304,17 @@ sub provision_vampire_dc($$$) return undef; } - $ret->{VAMPIRE_DC_SERVER} = $ret->{SERVER}; - $ret->{VAMPIRE_DC_SERVER_IP} = $ret->{SERVER_IP}; - $ret->{VAMPIRE_DC_SERVER_IPV6} = $ret->{SERVER_IPV6}; - $ret->{VAMPIRE_DC_NETBIOSNAME} = $ret->{NETBIOSNAME}; - + if ($fl == "2000") { + $ret->{VAMPIRE_2000_DC_SERVER} = $ret->{SERVER}; + $ret->{VAMPIRE_2000_DC_SERVER_IP} = $ret->{SERVER_IP}; + $ret->{VAMPIRE_2000_DC_SERVER_IPV6} = $ret->{SERVER_IPV6}; + $ret->{VAMPIRE_2000_DC_NETBIOSNAME} = $ret->{NETBIOSNAME}; + } else { + $ret->{VAMPIRE_DC_SERVER} = $ret->{SERVER}; + $ret->{VAMPIRE_DC_SERVER_IP} = $ret->{SERVER_IP}; + $ret->{VAMPIRE_DC_SERVER_IPV6} = $ret->{SERVER_IPV6}; + $ret->{VAMPIRE_DC_NETBIOSNAME} = $ret->{NETBIOSNAME}; + } $ret->{DC_SERVER} = $dcvars->{DC_SERVER}; $ret->{DC_SERVER_IP} = $dcvars->{DC_SERVER_IP}; $ret->{DC_SERVER_IPV6} = $dcvars->{DC_SERVER_IPV6}; @@ -2002,6 +2013,11 @@ sub setup_env($$$) return $self->setup_ad_dc_ntvfs("$path/ad_dc_ntvfs"); } elsif ($envname eq "fl2000dc") { return $self->setup_fl2000dc("$path/fl2000dc"); + } elsif ($envname eq "vampire_2000_dc") { + if (not defined($self->{vars}->{fl2000dc})) { + $self->setup_fl2000dc("$path/fl2000dc"); + } + return $self->setup_vampire_dc("$path/vampire_2000_dc", $self->{vars}->{fl2000dc}, "2000"); } elsif ($envname eq "fl2003dc") { if (not defined($self->{vars}->{ad_dc})) { $self->setup_ad_dc("$path/ad_dc"); @@ -2021,7 +2037,7 @@ sub setup_env($$$) if (not defined($self->{vars}->{ad_dc_ntvfs})) { $self->setup_ad_dc_ntvfs("$path/ad_dc_ntvfs"); } - return $self->setup_vampire_dc("$path/vampire_dc", $self->{vars}->{ad_dc_ntvfs}); + return $self->setup_vampire_dc("$path/vampire_dc", $self->{vars}->{ad_dc_ntvfs}, "2008"); } elsif ($envname eq "promoted_dc") { if (not defined($self->{vars}->{ad_dc_ntvfs})) { $self->setup_ad_dc_ntvfs("$path/ad_dc_ntvfs"); @@ -2211,11 +2227,11 @@ sub setup_fl2008r2dc($$$) return $env; } -sub setup_vampire_dc($$$) +sub setup_vampire_dc($$$$) { - my ($self, $path, $dc_vars) = @_; + my ($self, $path, $dc_vars, $fl) = @_; - my $env = $self->provision_vampire_dc($path, $dc_vars); + my $env = $self->provision_vampire_dc($path, $dc_vars, $fl); if (defined $env) { if (not defined($self->check_or_start($env, "single"))) { |