my $smbdpid = read_pid($envvars, "smbd");
my $nmbdpid = read_pid($envvars, "nmbd");
my $winbinddpid = read_pid($envvars, "winbindd");
- my $ctdbdpid = read_pid($envvars, "ctdbd");
$self->stop_sig_term($smbdpid);
$self->stop_sig_term($nmbdpid);
$self->stop_sig_term($winbinddpid);
- $self->stop_sig_term($ctdbdpid);
sleep(2);
$self->stop_sig_kill($smbdpid);
$self->stop_sig_kill($nmbdpid);
$self->stop_sig_kill($winbinddpid);
+
+ return 0;
+}
+
+sub teardown_env_ctdb($$)
+{
+ my ($self, $envvars) = @_;
+
+ my $ctdbdpid = read_pid($envvars, "ctdbd");
+ $self->stop_sig_term($ctdbdpid);
+ sleep(2);
$self->stop_sig_kill($ctdbdpid);
return 0;
{
my ($self, $envname, $path) = @_;
+ print "OBNOX - Samba3::setup_env called for '$envname'\n";
+
if ($envname eq "s3dc") {
return $self->setup_s3dc("$path/s3dc");
} elsif ($envname eq "secshare") {
sub check_or_start_ctdb($$) {
my ($self, $env_vars) = @_;
- unlink($env_vars->{CTDB_TEST_LOG});
+ unlink($env_vars->{CTDBD_TEST_LOG});
print "STARTING CTDB...";
my $pid = fork();
if ($pid == 0) {
- open STDOUT, ">$env_vars->{CTDB_TEST_LOG}";
+ open STDOUT, ">$env_vars->{CTDBD_TEST_LOG}";
open STDERR, '>&STDOUT';
my @preargs = (Samba::bindir_path($self, "timelimit"), $self->{server_maxtime});
my $prefix_abs = abs_path($prefix);
- my $bindir = "$prefix_abs/bin";
- push @dirs, $bindir;
-
my $var_dir = "$prefix_abs/var";
push @dirs, $var_dir;
+ my $piddir="$prefix_abs/pid";
+ push @dirs, $piddir;
+
my $reclock_file = "$var_dir/reck.lock";
my $socket_file = "$var_dir/ctdb.socket";
my $log_file = "$var_dir/log.ctdb";
my $db_dir_state = "$db_dir/state";
push @dirs, $db_dir_state;
- my $ctdb_dir = "$prefix_abs/etc/ctdb";
+ my $etc_dir = "$prefix_abs/etc";
+ push @dirs, $etc_dir;
+
+ my $ctdb_dir = "$etc_dir/ctdb";
push @dirs, $ctdb_dir;
my $nodes_file = "$ctdb_dir/nodes";
$ret{LOG_FILE} = $log_file;
$ret{EVENT_SCRIPT_DIR} = $event_script_dir;
$ret{PUBLIC_INTERFACE} = "lo";
- $ret{DEBUG_LEVEL} = 0;
+ $ret{DEBUG_LEVEL} = 2;
+ $ret{PIDDIR} = $piddir;
- $ret{BINDIR} = $bindir;
+ $ret{BINDIR} = "$self->{srcdir}/ctdb/bin";
return \%ret;
}
sleep(5);
- # TODO
-
- # - run ctdb status...
+ my $cmd = "$envvars->{BINDIR}/ctdb --socket=$envvars->{SOCKET_FILE} status";
+ my $ret = system("$cmd");
+ if ($ret != 0) {
+ print "CTDB failed to start?\n";
+ teardown_env_ctdb($self, $envvars);
+ return 0;
+ }
print $self->getlog_env_ctdb($envvars);