blob: 1c06bca47669eda2545fbd87b15d9b61cd4393bb (
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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
|
#!/bin/bash
CLUSTER_PFX="127.1.1"; # ".x" for each glusterd
CLUSTER_COUNT=1; # Just initial definition
function launch_cluster() {
local count=$1;
CLUSTER_COUNT=$count;
define_backends $count;
define_hosts $count;
define_glusterds $count;
define_clis $count;
start_glusterds;
}
function define_backends() {
local b;
for i in `seq 1 $count`; do
eval "B$i=$B0/$i";
done
for i in `seq 1 $count`; do
b="B$i";
mkdir -pv ${!b}/glusterd;
done
}
function define_glusterds() {
local count=$1;
local h;
local b;
local wopt;
local bopt;
local popt;
for i in `seq 1 $count`; do
b="B$i";
h="H$i";
wopt="management.working-directory=${!b}/glusterd";
bopt="management.transport.socket.bind-address=${!h}";
popt="--pid-file=${!b}/glusterd.pid";
eval "glusterd_$i='glusterd --xlator-option $wopt --xlator-option $bopt $popt'";
eval "glusterd$i='glusterd --xlator-option $wopt --xlator-option $bopt $popt'";
done
}
function start_glusterds() {
local g;
for i in `seq 1 $CLUSTER_COUNT`; do
g="glusterd_$i";
${!g};
done
}
function kill_glusterd() {
local index=$1;
local b;
local pidfile;
b="B$index";
pidfile="${!b}/glusterd.pid";
kill `cat $pidfile`;
}
function kill_node() {
local index=$1;
local h;
h="H$index";
kill -9 $(ps -ef | grep gluster | grep ${!h} | awk '{print $2}');
}
function define_hosts() {
local count=$1;
for i in `seq 1 $count`; do
eval "H_$i=${CLUSTER_PFX}.$i"
eval "H$i=${CLUSTER_PFX}.$i";
done
}
function define_clis() {
local count=$1;
local h;
for i in `seq 1 $count`; do
h="H$i";
eval "CLI_$i='$CLI --remote-host=${!h}'";
eval "CLI$i='$CLI --remote-host=${!h}'";
done
}
|