Statistiques
| Révision :

root / trunk / shell / compute-node-model-create @ 42

Historique | Voir | Annoter | Télécharger (2,43 ko)

1 42 storres
#! /bin/bash -x
2 42 storres
#
3 42 storres
# ST - 2012-03-09
4 42 storres
#
5 42 storres
# Create the front end, up to basic system installation.
6 42 storres
#
7 42 storres
# Get the directory of the script.
8 42 storres
SCRIPT_PATH=`dirname $0`
9 42 storres
# Get the script name.
10 42 storres
SCRIPT_NAME=`basename $0`
11 42 storres
# Source the common configuration variables.
12 42 storres
. $SCRIPT_PATH/c-i-a-b.common
13 42 storres
#
14 42 storres
# Check that the front-end virtual machine does not already exist.
15 42 storres
#
16 42 storres
CURRENT_HOST_NAME=$FRONT_END_HOST_NAME
17 42 storres
IS_RUNNING=`xm list | grep $CURRENT_HOST_NAME`
18 42 storres
if [ -n "$IS_RUNNING" ]
19 42 storres
  then
20 42 storres
    echo
21 42 storres
    echo The \"$CURRENT_HOST_NAME\" domU already exists. Aborting!
22 42 storres
    echo
23 42 storres
    exit 1
24 42 storres
fi
25 42 storres
26 42 storres
# Create the front-end system disk.
27 42 storres
lvcreate -L$FRONT_END_SYSTEM_DISK_SIZE \
28 42 storres
         -n  $FRONT_END_SYSTEM_DISK \
29 42 storres
         $FRONT_END_SYSTEM_VOLUME_GROUP
30 42 storres
# Create a File System on the front-end system disk.
31 42 storres
mkfs -t $FRONT_END_SYSTEM_DISK_FILE_SYSTEM \
32 42 storres
        $FRONT_END_SYSTEM_VOLUME_GROUP_DEVICE/$FRONT_END_SYSTEM_DISK
33 42 storres
# If necessary, create the swap volume for the front end.
34 42 storres
if [ $FRONT_END_SWAP_DISK_SIZE != $CONST_NULL_DISK_SIZE ] ; then
35 42 storres
  lvcreate -L $FRONT_END_SWAP_DISK_SIZE \
36 42 storres
           -n $FRONT_END_SWAP_DISK \
37 42 storres
           $FRONT_END_SWAP_VOLUME_GROUP
38 42 storres
  mkswap $FRONT_END_SWAP_VOLUME_GROUP_DEVICE/$FRONT_END_SWAP_DISK
39 42 storres
fi
40 42 storres
# Create the VM home disk.
41 42 storres
lvcreate -L$FRONT_END_HOME_DISK_SIZE \
42 42 storres
         -n  $FRONT_END_HOME_DISK \
43 42 storres
         $FRONT_END_HOME_VOLUME_GROUP
44 42 storres
# Create a File System on the front-end system disk.
45 42 storres
mkfs -t $FRONT_END_HOME_DISK_FILE_SYSTEM \
46 42 storres
        $FRONT_END_HOME_VOLUME_GROUP_DEVICE/$FRONT_END_HOME_DISK
47 42 storres
# Mount the system disk to install the system.
48 42 storres
if [ ! -d $FRONT_END_FILE_SYSTEM_MOUNT_POINT ]; then
49 42 storres
  mkdir $FRONT_END_FILE_SYSTEM_MOUNT_POINT
50 42 storres
fi
51 42 storres
mount $FRONT_END_SYSTEM_VOLUME_GROUP_DEVICE/$FRONT_END_SYSTEM_DISK \
52 42 storres
      $FRONT_END_FILE_SYSTEM_MOUNT_POINT
53 42 storres
if [ $? -ne 0 ] ; then
54 42 storres
  exit 1
55 42 storres
fi
56 42 storres
# Create the directory for the homes
57 42 storres
if [ ! -d "$FRONT_END_FILE_SYSTEM_MOUNT_POINT/home" ]; then
58 42 storres
  mkdir "$FRONT_END_FILE_SYSTEM_MOUNT_POINT/home"
59 42 storres
fi
60 42 storres
mount $FRONT_END_HOME_VOLUME_GROUP_DEVICE/$FRONT_END_HOME_DISK \
61 42 storres
      "$FRONT_END_FILE_SYSTEM_MOUNT_POINT/home"
62 42 storres
63 42 storres
#
64 42 storres
# Get the cluster MAC address
65 42 storres
#
66 42 storres
CURRENT_PATH=/etc
67 42 storres
FRONT_END_CLUSTER_MAC_ADDRESS=\
68 42 storres
`awk -F, -v INDEX=$CONST_FRONT_END_CLUSTER_STATIC_NETWORK_POSTFIX '{if (FNR==INDEX) {print $1}}' $SCRIPT_PATH/$TEMPLATES_DIR$CURRENT_PATH/$CONST_DHCP_HOSTS_FILE_BASENAME`
69 42 storres
#
70 42 storres
# Install the system.
71 42 storres
#
72 42 storres
debootstrap --arch $CONST_DEBIAN_ARCH $CONST_DEBIAN_VERSION \
73 42 storres
    $FRONT_END_FILE_SYSTEM_MOUNT_POINT
74 42 storres
# exit 0
75 42 storres
#
76 42 storres
# Complete the installation
77 42 storres
#
78 42 storres
exit 0