root / trunk / shell / stop-compute-node @ 48
Historique | Voir | Annoter | Télécharger (1,56 ko)
1 |
#! /bin/bash |
---|---|
2 |
# |
3 |
# Stop and delete a node |
4 |
# |
5 |
# Get the directory of the script. |
6 |
SCRIPT_PATH=`dirname $0` |
7 |
# Get the script name. |
8 |
SCRIPT_NAME=`basename $0` |
9 |
if [ "x$1" == "x" ] |
10 |
then |
11 |
echo |
12 |
echo Missing parametre. Aborting! |
13 |
echo |
14 |
echo Usage: $SCRIPT_NAME node_number |
15 |
echo |
16 |
exit 1 |
17 |
else |
18 |
NODE_NUMBER=$(($1)) |
19 |
NODE_NUMBER_STRING=$NODE_NUMBER |
20 |
while [ ${#NODE_NUMBER_STRING} -lt 3 ] |
21 |
do |
22 |
NODE_NUMBER_STRING="0$NODE_NUMBER_STRING" |
23 |
done |
24 |
fi |
25 |
# Source the common configuration variables. |
26 |
. $SCRIPT_PATH/c-i-a-b.common |
27 |
# |
28 |
# Check that the virtual machine exists. |
29 |
# |
30 |
CURRENT_HOST_NAME=${COMPUTE_NODE_NAME_PREFIX}${NODE_NUMBER_STRING} |
31 |
IS_RUNNING=`xm list | grep $CURRENT_HOST_NAME` |
32 |
if [ -z "$IS_RUNNING" ] |
33 |
then |
34 |
echo |
35 |
echo The \"$CURRENT_HOST_NAME\" domU does not exist. Aborting! |
36 |
echo |
37 |
exit 1 |
38 |
fi |
39 |
# |
40 |
# Stop the virutal machine |
41 |
# |
42 |
xm shutdown $CURRENT_HOST_NAME |
43 |
IS_RUNNING=1 |
44 |
while [ -n "$IS_RUNNING" ] |
45 |
do |
46 |
IS_RUNNING=`xm list | grep $CURRENT_HOST_NAME` |
47 |
echo waiting for $CURRENT_HOST_NAME to shutdown... |
48 |
sleep 4 |
49 |
done |
50 |
|
51 |
# If necessary, unmount the mounted disks |
52 |
if [ -f $COMPUTE_NODE_DISK_MOUNT_POINT/etc/network/interfaces ] |
53 |
then |
54 |
umount -f $COMPUTE_NODE_DISK_MOUNT_POINT |
55 |
fi |
56 |
# Delete the swap disk. |
57 |
COMPUTE_NODE_SWAP_DISK="${SWAP_DISK_PREFIX}${NODE_NUMBER_STRING}${SWAP_DISK_POSTFIX}" |
58 |
lvremove -f $SWAP_DISK_LOGICAL_VOLUME/$COMPUTE_NODE_SWAP_DISK |
59 |
# Delete the system disk |
60 |
COMPUTE_NODE_SYSTEM_DISK="${SYSTEM_DISK_CLONE_PREFIX}${NODE_NUMBER_STRING}${SYSTEM_DISK_CLONE_POSTFIX}" |
61 |
lvremove -f $SYSTEM_DISK_LOGICAL_VOLUME/$COMPUTE_NODE_SYSTEM_DISK |