Index: trunk/shell/templates/etc/dhcp-hostsfile
===================================================================
--- trunk/shell/templates/etc/dhcp-hostsfile	(revision 28)
+++ trunk/shell/templates/etc/dhcp-hostsfile	(revision 29)
@@ -249,3 +249,4 @@
 00:16:3E:0F:6A:F9,id:*,192.168.1.249,compute-node-249
 00:16:3E:0F:6A:FA,id:*,192.168.1.250,compute-node-250
 00:16:3E:0F:6A:FB,id:*,192.168.1.251,tamadi-1-fe
+00:16:3E:0F:6A:FC,id:*,192.168.1.252,tamadi-1-cnm
Index: trunk/shell/templates/etc/hosts
===================================================================
--- trunk/shell/templates/etc/hosts	(revision 28)
+++ trunk/shell/templates/etc/hosts	(revision 29)
@@ -249,8 +249,8 @@
 192.168.1.248 compute-node-248.ciab.lip.ens-lyon.fr compute-node-248
 192.168.1.249 compute-node-249.ciab.lip.ens-lyon.fr compute-node-249
 192.168.1.250 compute-node-250.ciab.lip.ens-lyon.fr compute-node-250
-192.168.1.251 frontend.ciab.lip.ens-lyon.fr frontend
-192.168.1.252 compute-node-model.ciab.lip.ens-lyon.fr compute-node-model
+192.168.1. .ciab.lip.ens-lyon.fr 
+192.168.1. .ciab.lip.ens-lyon.fr 
 # The following lines are desirable for IPv6 capable hosts
 ::1 ip6-localhost ip6-loopback
 fe00::0 ip6-localnet
Index: trunk/shell/generate-dhcp-hostsfile
===================================================================
--- trunk/shell/generate-dhcp-hostsfile	(revision 28)
+++ trunk/shell/generate-dhcp-hostsfile	(revision 29)
@@ -10,10 +10,9 @@
 # Source the common configuration variables.
 . $SCRIPT_PATH/c-i-a-b.common
 # Clean up the file
-DHCP_HOSTSFILE="${SCRIPT_PATH}/${TEMPLATES_DIR}/etc/${DHCP_HOSTSFILE_BASENAME}"
+DHCP_HOSTSFILE="${SCRIPT_PATH}/${TEMPLATES_DIR}/etc/${CONTS_DHCP_HOSTS_FILE_BASENAME}"
 rm -f $DHCP_HOSTSFILE
-# Compute the compute nodes file entries.
-# Must start at 1 (0 is the network address).
+# Compute the file entries.
 for i in `seq 1 $COMPUTE_NODE_MAX_NUM`
   do
     NODE_NUMBER=$i
@@ -29,14 +28,19 @@
       do
         NODE_NUMBER_HEXA="0$NODE_NUMBER_HEXA"
     done
-    MAC_ADDRESS="${CLUSTER_MAC_ADDRESS_PREFIX}:$NODE_NUMBER_HEXA"
+    MAC_ADDRESS="${CLUSTER_MAC_ADDRESS_PREFIX}:${NODE_NUMBER_HEXA}"
     COMPUTE_NODE_NAME="${COMPUTE_NODE_NAME_PREFIX}${NODE_NUMBER_STRING}"
-    echo "${MAC_ADDRESS},id:*,${CLUSTER_STATIC_NETWORK_PREFIX}.${NODE_NUMBER},${COMPUTE_NODE_NAME}" >> $DHCP_HOSTSFILE
+    echo "${MAC_ADDRESS},id:*,${CLUSTER_STATIC_NETWORK_PREFIX}.${NODE_NUMBER},${COMPUTE_NODE_NAME}" >> $CONST_DHCP_HOSTS_FILE
+    
 done
-# Create the entry for the front-end.
-NODE_NUMBER_HEXA=`printf "%X" $FRONT_END_STATIC_NETWORK_POSTFIX`
+# Front end stuff
+NODE_NUMBER_HEXA=`printf "%X" $CONST_FRONT_END_CLUSTER_STATIC_NETWORK_POSTFIX`
+MAC_ADDRESS="${CLUSTER_MAC_ADDRESS_PREFIX}:${NODE_NUMBER_HEXA}"
+echo "${MAC_ADDRESS},id:*,${CLUSTER_STATIC_NETWORK_PREFIX}.$CONST_FRONT_END_CLUSTER_STATIC_NETWORK_POSTFIX,${FRONT_END_HOST_NAME}" >> $DHCP_HOSTSFILE
+# Compute node model stuff
+NODE_NUMBER_HEXA=`printf "%X" $CONST_COMPUTE_NODE_MODEL_CLUSTER_STATIC_NETWORK_POSTFIX`
 MAC_ADDRESS="${CLUSTER_MAC_ADDRESS_PREFIX}:$NODE_NUMBER_HEXA"
-echo "${MAC_ADDRESS},id:*,${CLUSTER_STATIC_NETWORK_PREFIX}.${FRONT_END_STATIC_NETWORK_POSTFIX},$FRONT_END_HOST_NAME" >> $DHCP_HOSTSFILE
+echo "${MAC_ADDRESS},id:*,${CLUSTER_STATIC_NETWORK_PREFIX}.${CONST_COMPUTE_NODE_MODEL_CLUSTER_STATIC_NETWORK_POSTFIX},${COMPUTE_NODE_MODEL_HOST_NAME}" >> $DHCP_HOSTSFILE
 echo
 echo Copy the file to the front end!
 echo
Index: trunk/shell/testawk
===================================================================
--- trunk/shell/testawk	(revision 28)
+++ trunk/shell/testawk	(revision 29)
@@ -4,4 +4,4 @@
 SCRIPT_PATH=`dirname $0`
 . ./c-i-a-b.common
 AWK_COMMAND="{if (FNR==$NODE_NUMBER) {print \$2}}"
-awk -F, -v INDEX=$NODE_NUMBER  '{if (FNR==INDEX) {print $2}}' $SCRIPT_PATH/$TEMPLATES_DIR$CURRENT_PATH/$DHCP_HOSTSFILE_BASENAME
+awk -F, -v INDEX=$NODE_NUMBER  '{if (FNR==INDEX) {print $2}}' $SCRIPT_PATH/$TEMPLATES_DIR$CURRENT_PATH/$CONST_DHCP_HOSTS_FILE_BASENAME
Index: trunk/shell/create-start-front-end
===================================================================
--- trunk/shell/create-start-front-end	(revision 28)
+++ trunk/shell/create-start-front-end	(revision 29)
@@ -31,7 +31,7 @@
 mkfs -t $FRONT_END_SYSTEM_DISK_FILE_SYSTEM \
         $FRONT_END_SYSTEM_VOLUME_GROUP_DEVICE/$FRONT_END_SYSTEM_DISK
 # If necessary, create the swap volume for the front end.
-if [ $FRONT_END_SWAP_DISK_SIZE != $CONST_NULL_DISK_SIZE ]; then
+if [ $FRONT_END_SWAP_DISK_SIZE != $CONST_NULL_DISK_SIZE ] ; then
   lvcreate -L $FRONT_END_SWAP_DISK_SIZE \
            -n $FRONT_END_SWAP_DISK \
            $FRONT_END_SWAP_VOLUME_GROUP
@@ -44,18 +44,25 @@
 # Create a File System on the front-end system disk.
 mkfs -t $FRONT_END_HOME_DISK_FILE_SYSTEM \
         $FRONT_END_HOME_VOLUME_GROUP_DEVICE/$FRONT_END_HOME_DISK
-# Mount the system disk to copy all the specific files.
-if [ ! -d $FRONT_END_SYSTEM_DISK_MOUNT_POINT ]; then
-  mkdir $FRONT_END_SYSTEM_DISK_MOUNT_POINT
+# Mount the system disk to install the system.
+if [ ! -d $FRONT_END_FILE_SYSTEM_MOUNT_POINT ]; then
+  mkdir $FRONT_END_FILE_SYSTEM_MOUNT_POINT
 fi
 mount $FRONT_END_SYSTEM_VOLUME_GROUP_DEVICE/$FRONT_END_SYSTEM_DISK \
-      $FRONT_END_SYSTEM_DISK_MOUNT_POINT
+      $FRONT_END_FILE_SYSTEM_MOUNT_POINT
+# Create the directory for the homes
+if [ ! -d "$FRONT_END_FILE_SYSTEM_MOUNT_POINT/home" ]; then
+  mkdir "$FRONT_END_FILE_SYSTEM_MOUNT_POINT/home"
+fi
+mount $FRONT_END_HOME_VOLUME_GROUP_DEVICE/$FRONT_END_HOME_DISK \
+      "$FRONT_END_FILE_SYSTEM_MOUNT_POINT/home"
+
 #
 # Get the cluster MAC address
 #
 CURRENT_PATH=/etc
 FRONT_END_CLUSTER_MAC_ADDRESS=\
-`awk -F, -v INDEX=$FRONT_END_STATIC_NETWORK_POSTFIX '{if (FNR==INDEX) {print $1}}' $SCRIPT_PATH/$TEMPLATES_DIR$CURRENT_PATH/$DHCP_HOSTSFILE_BASENAME`
+`awk -F, -v INDEX=$FRONT_END_STATIC_NETWORK_POSTFIX '{if (FNR==INDEX) {print $1}}' $SCRIPT_PATH/$TEMPLATES_DIR$CURRENT_PATH/$CONST_DHCP_HOSTS_FILE_BASENAME`
 #
 # Create the Xen configuration file from a template
 #
@@ -130,87 +137,86 @@
 rpl __VIF_STANZA__ "$VIF_STANZA" \
    $CONST_XEN_CONFIG_DIR/$CURRENT_HOST_NAME.cfg
 #
+# Install the system.
+# 
+echo deboostrap --arch `uname -m` stable $FRONT_END_FILE_SYSTEM_MOUNT_POINT
+exit 0
 #
+#
 # Configure the specific files from templates
 #
 # Create the /etc directory, if necessary
-if [ ! -d $FRONT_END_SYSTEM_DISK_MOUNT_POINT/etc ] ; then
-  mkdir $FRONT_END_SYSTEM_DISK_MOUNT_POINT/etc
+if [ ! -d $FRONT_END_FILE_SYSTEM_MOUNT_POINT/etc ] ; then
+  mkdir $FRONT_END_FILE_SYSTEM_MOUNT_POINT/etc
 fi
 # /etc/network/interfaces
 # The first interface is DHCP configured.
-# No '/' between $FRONT_END_SYSTEM_DISK_MOUNT_POINT and $CURRENT_PATH
+# No '/' between $FRONT_END_FILE_SYSTEM_MOUNT_POINT and $CURRENT_PATH
 CURRENT_PATH=/etc/network
-if [ ! -d ${FRONT_END_SYSTEM_DISK_MOUNT_POINT}${CURRENT_PATH} ] ; then
-  mkdir ${FRONT_END_SYSTEM_DISK_MOUNT_POINT}${CURRENT_PATH}
+if [ ! -d ${FRONT_END_FILE_SYSTEM_MOUNT_POINT}${CURRENT_PATH} ] ; then
+  mkdir ${FRONT_END_FILE_SYSTEM_MOUNT_POINT}${CURRENT_PATH}
 fi
 cp templates$CURRENT_PATH/$FRONT_END_INTERFACES_TEMPLATE \
-   $FRONT_END_SYSTEM_DISK_MOUNT_POINT$CURRENT_PATH/interfaces
+   $FRONT_END_FILE_SYSTEM_MOUNT_POINT$CURRENT_PATH/interfaces
 if [ $CLUSTER_EXTERNAL_ADDRESSES_BY_DHCP -eq 1 ] ; then
   ETH0_STANZA="iface eth0 inet dhcp"
   rpl __ETH0_STATIC_OR_DHCP__ "$ETH0_STANZA"  \
-      ${FRONT_END_SYSTEM_DISK_MOUNT_POINT}${CURRENT_PATH}/interfaces
+      ${FRONT_END_FILE_SYSTEM_MOUNT_POINT}${CURRENT_PATH}/interfaces
   echo y | rpl __ETH0_STATIC_ADDRESS__ "" \
-      ${FRONT_END_SYSTEM_DISK_MOUNT_POINT}${CURRENT_PATH}/interfaces
+      ${FRONT_END_FILE_SYSTEM_MOUNT_POINT}${CURRENT_PATH}/interfaces
   echo y | rpl __ETH0_STATIC_NETMASK__ "" \
-      ${FRONT_END_SYSTEM_DISK_MOUNT_POINT}${CURRENT_PATH}/interfaces
+      ${FRONT_END_FILE_SYSTEM_MOUNT_POINT}${CURRENT_PATH}/interfaces
   echo y | rpl __ETH0_STATIC_NETWORK__ "" \
-      ${FRONT_END_SYSTEM_DISK_MOUNT_POINT}${CURRENT_PATH}/interfaces
+      ${FRONT_END_FILE_SYSTEM_MOUNT_POINT}${CURRENT_PATH}/interfaces
   echo y | rpl __ETH0_STATIC_GATEWAY__ "" \
-      ${FRONT_END_SYSTEM_DISK_MOUNT_POINT}${CURRENT_PATH}/interfaces
+      ${FRONT_END_FILE_SYSTEM_MOUNT_POINT}${CURRENT_PATH}/interfaces
   echo y | rpl __ETH0_STATIC_BROADCAST__ "" \
-      ${FRONT_END_SYSTEM_DISK_MOUNT_POINT}${CURRENT_PATH}/interfaces
+      ${FRONT_END_FILE_SYSTEM_MOUNT_POINT}${CURRENT_PATH}/interfaces
   echo y | rpl __ETH0_STATIC_NAMESERVERS__ "" \
-      ${FRONT_END_SYSTEM_DISK_MOUNT_POINT}${CURRENT_PATH}/interfaces
+      ${FRONT_END_FILE_SYSTEM_MOUNT_POINT}${CURRENT_PATH}/interfaces
   echo y | rpl __ETH0_STATIC_DNS_SEARCH__ "" \
-      ${FRONT_END_SYSTEM_DISK_MOUNT_POINT}${CURRENT_PATH}/interfaces
+      ${FRONT_END_FILE_SYSTEM_MOUNT_POINT}${CURRENT_PATH}/interfaces
 else
   ETH0_STANZA="iface eth0 inet static"
   rpl __ETH0_STATIC_OR_DHCP__ "$ETH0_STANZA"  \
-      ${FRONT_END_SYSTEM_DISK_MOUNT_POINT}${CURRENT_PATH}/interfaces 
+      ${FRONT_END_FILE_SYSTEM_MOUNT_POINT}${CURRENT_PATH}/interfaces 
   echo y | rpl __ETH0_STATIC_ADDRESS__ "$FRONT_END_CLUSTER_STATIC_IP" \
-      ${FRONT_END_SYSTEM_DISK_MOUNT_POINT}${CURRENT_PATH}/interfaces 
+      ${FRONT_END_FILE_SYSTEM_MOUNT_POINT}${CURRENT_PATH}/interfaces 
   echo y | rpl __ETH0_STATIC_NETMASK__ "$FRONT_END_EXTERNAL_INTERFACE_STATIC_NETMASK" \
-      ${FRONT_END_SYSTEM_DISK_MOUNT_POINT}${CURRENT_PATH}/interfaces 
+      ${FRONT_END_FILE_SYSTEM_MOUNT_POINT}${CURRENT_PATH}/interfaces 
   echo y | rpl __ETH0_STATIC_NETWORK__ "$FRONT_END_EXTERNAL_INTERFACE_STATIC_NETWORK" \
-      ${FRONT_END_SYSTEM_DISK_MOUNT_POINT}${CURRENT_PATH}/interfaces
+      ${FRONT_END_FILE_SYSTEM_MOUNT_POINT}${CURRENT_PATH}/interfaces
   echo y | rpl __ETH0_STATIC_GATEWAY__ "$FRONT_END_EXTERNAL_INTERFACE_STATIC_GATEWAY" \
-      ${FRONT_END_SYSTEM_DISK_MOUNT_POINT}${CURRENT_PATH}/interfaces 
+      ${FRONT_END_FILE_SYSTEM_MOUNT_POINT}${CURRENT_PATH}/interfaces 
   echo y | rpl __ETH0_STATIC_BROADCAST__ "$FRONT_END_EXTERNAL_INTERFACE_STATIC_BROADCAST" \
-      ${FRONT_END_SYSTEM_DISK_MOUNT_POINT}${CURRENT_PATH}/interfaces 
+      ${FRONT_END_FILE_SYSTEM_MOUNT_POINT}${CURRENT_PATH}/interfaces 
   echo y | rpl __ETH0_STATIC_NAMESERVERS__ "$FRONT_END_EXTERNAL_INTERFACE_STATIC_DNS_NAMESERVERS" \
-      ${FRONT_END_SYSTEM_DISK_MOUNT_POINT}${CURRENT_PATH}/interfaces 
+      ${FRONT_END_FILE_SYSTEM_MOUNT_POINT}${CURRENT_PATH}/interfaces 
   echo y | rpl __ETH0_STATIC_DNS_SEARCH__ "$FRONT_END_EXTERNAL_INTERFACE_STATIC_DNS_SEARCH" \
-      ${FRONT_END_SYSTEM_DISK_MOUNT_POINT}${CURRENT_PATH}/interfaces
+      ${FRONT_END_FILE_SYSTEM_MOUNT_POINT}${CURRENT_PATH}/interfaces
 fi 
 ADDRESS="$CLUSTER_STATIC_NETWORK_PREFIX.$FRONT_END_STATIC_NETWORK_POSTFIX"
 rpl __ETH1_STATIC_ADDRESS__ $ADDRESS  \
-    ${FRONT_END_SYSTEM_DISK_MOUNT_POINT}${CURRENT_PATH}/interfaces
+    ${FRONT_END_FILE_SYSTEM_MOUNT_POINT}${CURRENT_PATH}/interfaces
 # /etc/hostname
 CURRENT_PATH=/etc
 echo $CURRENT_HOST_NAME > "${FRONT_END_DISK_MOUNT_POINT}${CURRENT_PATH}/hostname"
-# /etc/hosts
+# /etc/hosts. Script generated.
 CURRENT_PATH=/etc
-CURRENT_HOST_IP="${CLUSTER_STATIC_NETWORK_PREFIX}.${FRONT_END_STATIC_NETWORK_POSTFIX}"
-cp templates$CURRENT_PATH/hosts \
-   ${FRONT_END_SYSTEM_DISK_MOUNT_POINT}${CURRENT_PATH}
-rpl __COMPUTE_NODE_IP__ $CURRENT_HOST_IP \
-    ${FRONT_END_SYSTEM_DISK_MOUNT_POINT}${CURRENT_PATH}/hosts
-rpl __COMPUTE_NODE_NAME__ $CURRENT_HOST_NAME \
-    ${FRONT_END_SYSTEM_DISK_MOUNT_POINT}${CURRENT_PATH}/hosts
+$SCRIPT_PATH/generate-hosts-file \
+  ${FRONT_END_FILE_SYSTEM_MOUNT_POINT}${CURRENT_PATH}/hosts
 # /etc/resolv.conf
 CURRENT_PATH=/etc
 cp $TEMPLATES_DIR$CURRENT_PATH/resolv.conf \
-   ${FRONT_END_SYSTEM_DISK_MOUNT_POINT}${CURRENT_PATH}/resolv.conf
+   ${FRONT_END_FILE_SYSTEM_MOUNT_POINT}${CURRENT_PATH}/resolv.conf
 rpl __CLUSTER_DOMAIN_NAME__ "${CLUSTER_DOMAIN_NAME}." \
-   ${FRONT_END_SYSTEM_DISK_MOUNT_POINT}${CURRENT_PATH}/resolv.conf
-rpl __FRONT_END_STATIC_ADDRESS__ "${CLUSTER_STATIC_NETWORK_PREFIX}.$FRONT_END_STATIC_NETWORK_POSTFIX" \
-   ${FRONT_END_SYSTEM_DISK_MOUNT_POINT}${CURRENT_PATH}/resolv.conf
-exit 0
+   ${FRONT_END_FILE_SYSTEM_MOUNT_POINT}${CURRENT_PATH}/resolv.conf
+rpl __FRONT_END_STATIC_ADDRESS__ "${CLUSTER_STATIC_NETWORK_PREFIX}.${CONST_FRONT_END_CLUSTER_STATIC_NETWORK_POSTFIX}" \
+   ${FRONT_END_FILE_SYSTEM_MOUNT_POINT}${CURRENT_PATH}/resolv.conf
 #
 # Umount the compute node system disk
 #
-umount $FRONT_END_SYSTEM_DISK_MOUNT_POINT
+umount $FRONT_END_FILE_SYSTEM_MOUNT_POINT
 #
 # Start the virtual machine
 #
Index: trunk/shell/start-compute-node
===================================================================
--- trunk/shell/start-compute-node	(revision 28)
+++ trunk/shell/start-compute-node	(revision 29)
@@ -90,7 +90,7 @@
 #
 CURRENT_PATH=/etc
 COMPUTE_NODE_MAC_ADDRESS=\
-`awk -F, -v INDEX=$NODE_NUMBER '{if (FNR==INDEX) {print $1}}' $SCRIPT_PATH/$TEMPLATES_DIR$CURRENT_PATH/$DHCP_HOSTSFILE_BASENAME`
+`awk -F, -v INDEX=$NODE_NUMBER '{if (FNR==INDEX) {print $1}}' $SCRIPT_PATH/$TEMPLATES_DIR$CURRENT_PATH/$CONST_DHCP_HOSTS_FILE_BASENAME`
 #
 # Create the Xen configuration file from a template
 #
Index: trunk/shell/c-i-a-b.common
===================================================================
--- trunk/shell/c-i-a-b.common	(revision 28)
+++ trunk/shell/c-i-a-b.common	(revision 29)
@@ -2,9 +2,11 @@
 # Constants that no one should not change.
 # Compute nodes from 1 to 250
 CONST_COMPUTE_NODE_MAX_NUM=250
-CONST_COMPUTE_NODE_MODEL_CLUSTER_MODEL_STATIC_NETWORK_POSTFIX=252
+CONST_COMPUTE_NODE_MODEL_CLUSTER_STATIC_NETWORK_POSTFIX=252
+CONST_DHCP_HOSTS_FILE_BASENAME=dhcp-hostsfile
 CONST_FRONT_END_TEMPLATE_NAME="front-end.cfg"
 CONST_FRONT_END_CLUSTER_STATIC_NETWORK_POSTFIX=251
+CONST_HOSTS_FILE_BASENAME=hosts
 CONST_NULL_DISK_SIZE=0G # For several configuration files.
 CONST_NO_DHCP="NO_DHCP"
 #
@@ -58,7 +60,6 @@
 COMPUTE_NODE_SWAP_DISK_SIZE=1G
 SWAP_DISK_VOLUME_GROUP=/dev/vg_fast
 #
-DHCP_HOSTSFILE_BASENAME=dhcp-hostsfile
 #
 DOM0_CPUS_LIST="0 4"
 DOM0_CPUS_NUM=2
@@ -72,6 +73,7 @@
 FRONT_END_EXTERNAL_INTERFACE_STATIC_DNS_NAMESERVERS="140.77.1.32 140.77.167.2"
 FRONT_END_EXTERNAL_INTERFACE_STATIC_DNS_SEARCH="lip.ens-lyon.fr ens-lyon.fr resam.ens-lyon.fr"
 FRONT_END_EXTERNAL_MAC_ADDRESS="${CLUSTER_EXTERNAL_MAC_PREFIX}02"
+FRONT_END_FILE_SYSTEM_MOUNT_POINT=/mnt/frontend-file-system
 FRONT_END_HOME_DISK=front-end-home-disk
 FRONT_END_HOME_DISK_FILE_SYSTEM=ext3
 #FRONT_END_HOME_DISK_SIZE=512G
@@ -93,7 +95,6 @@
 #FRONT_END_SYSTEM_DISK_SIZE=46G
 FRONT_END_SYSTEM_DISK_SIZE=10G
 FRONT_END_SYSTEM_DISK_FILE_SYSTEM=ext3
-FRONT_END_SYSTEM_DISK_MOUNT_POINT=/mnt/frontend-system-disk
 FRONT_END_SYSTEM_VOLUME_GROUP=vg_fast
 FRONT_END_SYSTEM_VOLUME_GROUP_DEVICE="/dev/$FRONT_END_SYSTEM_VOLUME_GROUP"
 FRONT_END_VCPUS_NUM=3
