summaryrefslogtreecommitdiff
path: root/ctdb/tests/eventscripts/scripts/statd-callout.sh
blob: 88dc9acdf78578f5df7c4ce69dd96a5bfa56544b (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
setup ()
{
	ctdb_set_pnn
	setup_public_addresses
	setup_date "123456789"
}

ctdb_catdb_format_pairs ()
{
	_count=0

	while read _k _v ; do
		_kn=$(echo -n "$_k" | wc -c)
		_vn=$(echo -n "$_v" | wc -c)
		cat <<EOF
key(${_kn}) = "${_k}"
dmaster: 0
rsn: 1
data(${_vn}) = "${_v}"

EOF
		_count=$(($_count + 1))
	done

	echo "Dumped ${_count} records"
}

check_ctdb_tdb_statd_state ()
{
	ctdb_get_my_public_addresses |
		while read _x _sip _x ; do
			for _cip ; do
				cat <<EOF
statd-state@${_sip}@${_cip} $(date)
EOF
			done
		done |
		ctdb_catdb_format_pairs | {
		ok
		simple_test_command ctdb catdb ctdb.tdb
	} || exit $?
}

check_statd_callout_smnotify ()
{
	_state_even=$(( $(date '+%s') / 2 * 2))
	_state_odd=$(($_state_even + 1))

	nfs_load_config

	ctdb_get_my_public_addresses |
		while read _x _sip _x ; do
			for _cip ; do
				cat <<EOF
SM_NOTIFY: ${_sip} -> ${_cip}, MON_NAME=${_sip}, STATE=${_state_even}
SM_NOTIFY: ${_sip} -> ${_cip}, MON_NAME=${NFS_HOSTNAME}, STATE=${_state_even}
SM_NOTIFY: ${_sip} -> ${_cip}, MON_NAME=${_sip}, STATE=${_state_odd}
SM_NOTIFY: ${_sip} -> ${_cip}, MON_NAME=${NFS_HOSTNAME}, STATE=${_state_odd}
EOF
			done
		done | {
		ok
		simple_test_event "notify"
	} || exit $?
}