summaryrefslogtreecommitdiffstats
path: root/src/kadmin/testing/scripts/stop_servers
blob: fc5372dd4e47c0ee04d99325a583922d1492d2aa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
#!/bin/sh
#
# Usage: stop_servers [hostname [path]]
#
# This script turns a host into a OpenV*Secure primary server for the
# realm SECURE-TEST.OV.COM.  If no arguments are specified,
# the local host is affected.  Otherwise, the host hostname is
# affected; the path argument is the top of the Secure install tree on
# that host, and if it is not specified the current canonical value of
# TOP is used.

DUMMY=${TESTDIR=$TOP/testing}
DUMMY=${FIX_CONF_FILES=$TESTDIR/scripts/fixup-conf-files.pl}
DUMMY=${STOP_SERVERS_LOCAL=$TESTDIR/scripts/stop_servers_local}
# This'll be wrong sometimes
DUMMY=${RSH_CMD=/usr/ucb/rsh}
DUMMY=${RESTORE_FILES=$TESTDIR/scripts/restore_files.sh}

# If it's set, set it to true
VERBOSE=${VERBOSE_TEST:+true}
# Otherwise, set it to false
DUMMY=${VERBOSE:=false}

local=1

if [ $# -gt 0 ]; then
	if [ $# != 1 -a $# != 2 ]; then
		echo "Usage: $0 [hostname [path]]" 1>&2
		exit 1
	fi

	local=0
	hostname=$1
	if [ $# = 1 ]; then
		rempath=`sh -c "cd $TOP && pwd"`
	else
		rempath=$2
	fi
fi

if [ $local = 0 ]; then
	if $VERBOSE; then
		echo "+++ Stopping servers on remote host $hostname..."
	fi

#	$FIX_CONF_FILES -server $hostname
#
#	KRB5CCNAME=FILE:/tmp/krb5cc_stop_servers; export KRB5CCNAME
#
#	expect <<EOF
#spawn kinit admin
#expect {
#	-re "Password for admin@SECURE-TEST.OV.COM" {
#		send "admin\n"
#	}
#}
#expect { eof { } }
#EOF

# Using /usr/ucb/rsh and getting rid of "-k REALM" until we get around
# to fixing the fact that Kerberos rsh doesn't strip out "-k REALM"
# when falling back.

	STOP_SERVERS_LOCAL=`echo $STOP_SERVERS_LOCAL | sed "s%$TOP%$rempath%"`
	CMD="$RSH_CMD $hostname -l root -n\
	      \"cd $rempath; \\\`testing/scripts/find-make.sh\\\` execute VERBOSE_TEST=$VERBOSE_TEST \
		TOP=$rempath \
		CMD='$STOP_SERVERS_LOCAL $rempath'\""
	if $VERBOSE; then
		echo "+++"
		echo "+++ Begin execution of stop_servers_local on $hostname"
		echo "+++"
		echo $CMD
	fi
	eval $CMD
	if $VERBOSE; then
		echo "+++"
		echo "+++ End execution of stop_servers_local on $hostname"
		echo "+++"
	fi
	$RESTORE_FILES
else
	$STOP_SERVERS_LOCAL
fi