root / trunk / shell / generate-dhcp-hostsfile @ 50
Historique | Voir | Annoter | Télécharger (1,91 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_HOSTS_FILE="${SCRIPT_PATH}/${CONST_TEMPLATES_DIR}/etc/${CONST_DHCP_HOSTS_FILE_BASENAME}" |
14 |
rm -f $DHCP_HOSTS_FILE |
15 |
# Compute the file entries. |
16 |
for i in `seq 1 $COMPUTE_NODE_MAX_NUM` |
17 |
do |
18 |
NODE_NUMBER=$i |
19 |
NODE_NUMBER_STRING=$NODE_NUMBER |
20 |
# Normalize the node numbers for the node names on 3 characters. |
21 |
while [ ${#NODE_NUMBER_STRING} -lt 3 ] |
22 |
do |
23 |
NODE_NUMBER_STRING="0$NODE_NUMBER_STRING" |
24 |
done |
25 |
# Transform the decimal node number in hexadecimal for the MAC address. |
26 |
NODE_NUMBER_HEXA=`printf "%X" $NODE_NUMBER` |
27 |
while [ ${#NODE_NUMBER_HEXA} -lt 2 ] |
28 |
do |
29 |
NODE_NUMBER_HEXA="0$NODE_NUMBER_HEXA" |
30 |
done |
31 |
MAC_ADDRESS="${CLUSTER_MAC_ADDRESS_PREFIX}:${NODE_NUMBER_HEXA}" |
32 |
COMPUTE_NODE_NAME="${COMPUTE_NODE_NAME_PREFIX}${NODE_NUMBER_STRING}" |
33 |
echo "${MAC_ADDRESS},id:*,${CLUSTER_STATIC_NETWORK_PREFIX}.${NODE_NUMBER},${COMPUTE_NODE_NAME}" >> $DHCP_HOSTS_FILE |
34 |
|
35 |
done |
36 |
# Front end stuff |
37 |
NODE_NUMBER_HEXA=`printf "%X" $CONST_FRONT_END_CLUSTER_STATIC_NETWORK_POSTFIX` |
38 |
MAC_ADDRESS="${CLUSTER_MAC_ADDRESS_PREFIX}:${NODE_NUMBER_HEXA}" |
39 |
echo "${MAC_ADDRESS},id:*,${CLUSTER_STATIC_NETWORK_PREFIX}.$CONST_FRONT_END_CLUSTER_STATIC_NETWORK_POSTFIX,${FRONT_END_CLUSTER_HOST_NAME}" >> $DHCP_HOSTS_FILE |
40 |
# Compute node model stuff |
41 |
NODE_NUMBER_HEXA=`printf "%X" $CONST_COMPUTE_NODE_MODEL_CLUSTER_STATIC_NETWORK_POSTFIX` |
42 |
MAC_ADDRESS="${CLUSTER_MAC_ADDRESS_PREFIX}:$NODE_NUMBER_HEXA" |
43 |
echo "${MAC_ADDRESS},id:*,${CLUSTER_STATIC_NETWORK_PREFIX}.${CONST_COMPUTE_NODE_MODEL_CLUSTER_STATIC_NETWORK_POSTFIX},${COMPUTE_NODE_MODEL_CLUSTER_HOST_NAME}" >> $DHCP_HOSTS_FILE |
44 |
echo |
45 |
echo Copy the file to the front end! |
46 |
echo |
47 |
exit 0 |