ctdb-tests: Use setup_script_options() in 91.lvs tests
[metze/samba/wip.git] / ctdb / tests / eventscripts / scripts / 91.lvs.sh
1 setup ()
2 {
3         _ip="$1"
4         _iface="$2"
5
6         export FAKE_LVS_STATE_DIR="${FAKE_NETWORK_STATE}/lvs"
7         mkdir -p "$FAKE_LVS_STATE_DIR"
8
9         lvs_header=$(ipvsadm -l -n)
10
11         [ -n "$_ip" ] || return 0
12         [ -n "$_iface" ] || return 0
13
14         setup_script_options <<EOF
15 CTDB_LVS_NODES="${CTDB_BASE}/lvs_nodes"
16 CTDB_LVS_PUBLIC_IP="$_ip"
17 CTDB_LVS_PUBLIC_IFACE="$_iface"
18 EOF
19
20         export FAKE_CTDB_LVS_MASTER=""
21
22         # Read from stdin
23         _pnn=0
24         while read _ip _opts ; do
25                 case "$_opts" in
26                 master)
27                         FAKE_CTDB_LVS_MASTER="$_pnn"
28                         echo "$_ip"
29                         ;;
30                 slave-only)
31                         printf "%s\tslave-only\n" "$_ip"
32                         ;;
33                 *)
34                         echo "$_ip"
35                         ;;
36                 esac
37                 _pnn=$(($_pnn + 1))
38         done >"$CTDB_LVS_NODES"
39 }
40
41 check_ipvsadm ()
42 {
43         if [ "$1" = "NULL" ] ; then
44                 required_result 0 <<EOF
45 $lvs_header
46 EOF
47         else
48                 required_result 0 <<EOF
49 $lvs_header
50 $(cat)
51 EOF
52         fi
53
54         simple_test_command ipvsadm -l -n
55 }
56
57 check_lvs_ip ()
58 {
59         _scope="$1"
60
61         if [ "$_scope" = "NULL" ] ; then
62                 required_result 0 <<EOF
63 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
64     link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
65 EOF
66         else
67                 required_result 0 <<EOF
68 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
69     link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
70     inet ${CTDB_LVS_PUBLIC_IP}/32 scope ${_scope} lo
71        valid_lft forever preferred_lft forever
72 EOF
73         fi
74
75         simple_test_command ip addr show dev lo
76 }