13 |
13 |
#
|
14 |
14 |
# Check that the front-end virtual machine does not already exist.
|
15 |
15 |
#
|
16 |
|
CURRENT_HOST_NAME=$FRONT_END_NAME
|
|
16 |
CURRENT_HOST_NAME=$FRONT_END_HOST_NAME
|
17 |
17 |
IS_RUNNING=`xm list | grep $CURRENT_HOST_NAME`
|
18 |
18 |
if [ -n "$IS_RUNNING" ]
|
19 |
19 |
then
|
... | ... | |
44 |
44 |
mount $FRONT_END_SYSTEM_VOLUME_GROUP_DEVICE/$FRONT_END_SYSTEM_DISK \
|
45 |
45 |
$FRONT_END_SYSTEM_DISK_MOUNT_POINT
|
46 |
46 |
#
|
47 |
|
# Configure the specific files from templates
|
48 |
|
#
|
49 |
|
# /etc/network/interfaces
|
50 |
|
# The first interface is DHCP configured.
|
51 |
|
CURRENT_PATH=/etc/network
|
52 |
|
cp templates$CURRENT_PATH/$FRONT_END_INTERFACES_TEMPLATE \
|
53 |
|
$FRONT_END_SYSTEM_DISK_MOUNT_POINT/$CURRENT_PATH
|
54 |
|
ADDRESS="$COMPUTE_NODE_STATIC_NETWORK_PREFIX.$FRONT_END_STATIC_NETWORK_POSTFIX"
|
55 |
|
rpl __STATIC_ADDRESS__ $ADDRESS \
|
56 |
|
$FRONT_END_SYSTEM_DISK_MOUNT_POINT/$CURRENT_PATH/interfaces
|
57 |
|
# /etc/hostname
|
58 |
|
CURRENT_PATH=/etc
|
59 |
|
echo $CURRENT_HOST_NAME > "${COMPUTE_NODE_DISK_MOUNT_POINT}${CURRENT_PATH}/hostname"
|
60 |
|
# /etc/hosts
|
61 |
|
CURRENT_PATH=/etc
|
62 |
|
CURRENT_HOST_IP="${COMPUTE_NODE_STATIC_NETWORK_PREFIX}.${FRONT_END_STATIC_NETWORK_POSTFIX}"
|
63 |
|
cp templates$CURRENT_PATH/hosts \
|
64 |
|
$FRONT_END_SYSTEM_DISK_MOUNT_POINT/$CURRENT_PATH
|
65 |
|
rpl __COMPUTE_NODE_IP__ $CURRENT_HOST_IP \
|
66 |
|
${FRONT_END_SYSTEM_DISK_MOUNT_POINT}${CURRENT_PATH}/hosts
|
67 |
|
rpl __COMPUTE_NODE_NAME__ $CURRENT_HOST_NAME \
|
68 |
|
${FRONT_END_SYSTEM_DISK_MOUNT_POINT}${CURRENT_PATH}/hosts
|
69 |
|
# /etc/resolv.conf
|
70 |
|
CURRENT_PATH=/etc
|
71 |
|
cp $TEMPLATES_DIR$CURRENT_PATH/resolv.conf \
|
72 |
|
${FRONT_END_SYSTEM_DISK_MOUNT_POINT}${CURRENT_PATH}/resolv.conf
|
73 |
|
rpl __CLUSTER_DOMAIN_NAME__ "${CLUSTER_DOMAIN_NAME}." \
|
74 |
|
${FRONT_END_SYSTEM_DISK_MOUNT_POINT}${CURRENT_PATH}/resolv.conf
|
75 |
|
rpl __FRONT_END_STATIC_ADDRESS__ "${CLUSTER_STATIC_NETWORK_PREFIX}.$FRONT_END_STATIC_NETWORK_POSTFIX" \
|
76 |
|
${FRONT_END_SYSTEM_DISK_MOUNT_POINT}${CURRENT_PATH}/resolv.conf
|
77 |
|
exit 0
|
78 |
|
#
|
79 |
47 |
# Get the MAC address
|
80 |
48 |
#
|
81 |
49 |
CURRENT_PATH=/etc
|
82 |
|
COMPUTE_NODE_MAC_ADDRESS=\
|
83 |
|
`awk -F, -v INDEX=$NODE_NUMBER '{if (FNR==INDEX) {print $1}}' $SCRIPT_PATH/$TEMPLATES_DIR$CURRENT_PATH/$DHCP_HOSTSFILE_BASENAME`
|
|
50 |
FRONT_END_MAC_ADDRESS=\
|
|
51 |
`awk -F, -v INDEX=$FRONT_END_STATIC_NETWORK_POSTFIX '{if (FNR==INDEX) {print $1}}' $SCRIPT_PATH/$TEMPLATES_DIR$CURRENT_PATH/$DHCP_HOSTSFILE_BASENAME`
|
84 |
52 |
#
|
85 |
53 |
# Create the Xen configuration file from a template
|
86 |
54 |
#
|
87 |
55 |
CURRENT_PATH=/etc/xen
|
88 |
|
cp templates$CURRENT_PATH/compute-node.cfg \
|
|
56 |
cp templates$CURRENT_PATH/front-end.cfg \
|
89 |
57 |
$SCRIPT_PATH/$CURRENT_HOST_NAME.cfg
|
90 |
58 |
rpl Template Configuration $SCRIPT_PATH/$CURRENT_HOST_NAME.cfg
|
91 |
59 |
rpl "the Xen instance compute-node" "compute-node-$NODE_NUMBER_STRING" \
|
... | ... | |
150 |
118 |
xm vcpu-pin $CURRENT_HOST_NAME $VCPU_NUM $i
|
151 |
119 |
VCPU_NUM=$((VCPU_NUM + 1))
|
152 |
120 |
done
|
|
121 |
|
|
122 |
#
|
|
123 |
# Configure the specific files from templates
|
|
124 |
#
|
|
125 |
# /etc/network/interfaces
|
|
126 |
# The first interface is DHCP configured.
|
|
127 |
CURRENT_PATH=/etc/network
|
|
128 |
cp templates$CURRENT_PATH/$FRONT_END_INTERFACES_TEMPLATE \
|
|
129 |
$FRONT_END_SYSTEM_DISK_MOUNT_POINT/$CURRENT_PATH
|
|
130 |
ADDRESS="$COMPUTE_NODE_STATIC_NETWORK_PREFIX.$FRONT_END_STATIC_NETWORK_POSTFIX"
|
|
131 |
rpl __STATIC_ADDRESS__ $ADDRESS \
|
|
132 |
$FRONT_END_SYSTEM_DISK_MOUNT_POINT/$CURRENT_PATH/interfaces
|
|
133 |
# /etc/hostname
|
|
134 |
CURRENT_PATH=/etc
|
|
135 |
echo $CURRENT_HOST_NAME > "${COMPUTE_NODE_DISK_MOUNT_POINT}${CURRENT_PATH}/hostname"
|
|
136 |
# /etc/hosts
|
|
137 |
CURRENT_PATH=/etc
|
|
138 |
CURRENT_HOST_IP="${COMPUTE_NODE_STATIC_NETWORK_PREFIX}.${FRONT_END_STATIC_NETWORK_POSTFIX}"
|
|
139 |
cp templates$CURRENT_PATH/hosts \
|
|
140 |
$FRONT_END_SYSTEM_DISK_MOUNT_POINT/$CURRENT_PATH
|
|
141 |
rpl __COMPUTE_NODE_IP__ $CURRENT_HOST_IP \
|
|
142 |
${FRONT_END_SYSTEM_DISK_MOUNT_POINT}${CURRENT_PATH}/hosts
|
|
143 |
rpl __COMPUTE_NODE_NAME__ $CURRENT_HOST_NAME \
|
|
144 |
${FRONT_END_SYSTEM_DISK_MOUNT_POINT}${CURRENT_PATH}/hosts
|
|
145 |
# /etc/resolv.conf
|
|
146 |
CURRENT_PATH=/etc
|
|
147 |
cp $TEMPLATES_DIR$CURRENT_PATH/resolv.conf \
|
|
148 |
${FRONT_END_SYSTEM_DISK_MOUNT_POINT}${CURRENT_PATH}/resolv.conf
|
|
149 |
rpl __CLUSTER_DOMAIN_NAME__ "${CLUSTER_DOMAIN_NAME}." \
|
|
150 |
${FRONT_END_SYSTEM_DISK_MOUNT_POINT}${CURRENT_PATH}/resolv.conf
|
|
151 |
rpl __FRONT_END_STATIC_ADDRESS__ "${CLUSTER_STATIC_NETWORK_PREFIX}.$FRONT_END_STATIC_NETWORK_POSTFIX" \
|
|
152 |
${FRONT_END_SYSTEM_DISK_MOUNT_POINT}${CURRENT_PATH}/resolv.conf
|
|
153 |
exit 0
|