Statistiques
| Révision :

root / trunk / shell / stop-compute-node @ 46

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