Statistiques
| Révision :

root / trunk / shell / generate-dhcp-hostsfile @ 25

Historique | Voir | Annoter | Télécharger (1,58 ko)

1
#! /bin/bash
2
#
3
# Generate a dhcp-hostsfile for dnsmasq.
4
# MAC_address,node_name,IP_address
5
#
6
# Get the directory of the script.
7
SCRIPT_PATH=`dirname $0`
8
# Get the script name.
9
SCRIPT_NAME=`basename $0`
10
# Source the common configuration variables.
11
. $SCRIPT_PATH/c-i-a-b.common
12
# Clean up the file
13
DHCP_HOSTSFILE="${SCRIPT_PATH}/${TEMPLATES_DIR}/etc/${DHCP_HOSTSFILE_BASENAME}"
14
rm -f $DHCP_HOSTSFILE
15
# Compute the compute nodes file entries.
16
# Must start at 1 (0 is the network address).
17
for i in `seq 1 $COMPUTE_NODE_MAX_NUM`
18
  do
19
    NODE_NUMBER=$i
20
    NODE_NUMBER_STRING=$NODE_NUMBER
21
    # Normalize the node numbers for the node names on 3 characters.
22
    while [ ${#NODE_NUMBER_STRING} -lt 3 ]
23
      do
24
        NODE_NUMBER_STRING="0$NODE_NUMBER_STRING"
25
    done
26
    # Transform the decimal node number in hexadecimal for the MAC address.
27
    NODE_NUMBER_HEXA=`printf "%X" $NODE_NUMBER`
28
    while [ ${#NODE_NUMBER_HEXA} -lt 2 ]
29
      do
30
        NODE_NUMBER_HEXA="0$NODE_NUMBER_HEXA"
31
    done
32
    MAC_ADDRESS="${CLUSTER_MAC_ADDRESS_PREFIX}:$NODE_NUMBER_HEXA"
33
    COMPUTE_NODE_NAME="${COMPUTE_NODE_NAME_PREFIX}${NODE_NUMBER_STRING}"
34
    echo "${MAC_ADDRESS},id:*,${CLUSTER_STATIC_NETWORK_PREFIX}.${NODE_NUMBER},${COMPUTE_NODE_NAME}" >> $DHCP_HOSTSFILE
35
done
36
# Create the entry for the front-end.
37
NODE_NUMBER_HEXA=`printf "%X" $FRONT_END_STATIC_NETWORK_POSTFIX`
38
MAC_ADDRESS="${CLUSTER_MAC_ADDRESS_PREFIX}:$NODE_NUMBER_HEXA"
39
echo "${MAC_ADDRESS},id:*,${CLUSTER_STATIC_NETWORK_PREFIX}.${FRONT_END_STATIC_NETWORK_POSTFIX},$FRONT_END_HOST_NAME" >> $DHCP_HOSTSFILE
40
echo
41
echo Copy the file to the front end!
42
echo
43
exit 0