31 |
31 |
mkfs -t $FRONT_END_SYSTEM_DISK_FILE_SYSTEM \
|
32 |
32 |
$FRONT_END_SYSTEM_VOLUME_GROUP_DEVICE/$FRONT_END_SYSTEM_DISK
|
33 |
33 |
# If necessary, create the swap volume for the front end.
|
34 |
|
if [ $FRONT_END_SWAP_DISK_SIZE != $CONST_NULL_DISK_SIZE ]; then
|
|
34 |
if [ $FRONT_END_SWAP_DISK_SIZE != $CONST_NULL_DISK_SIZE ] ; then
|
35 |
35 |
lvcreate -L $FRONT_END_SWAP_DISK_SIZE \
|
36 |
36 |
-n $FRONT_END_SWAP_DISK \
|
37 |
37 |
$FRONT_END_SWAP_VOLUME_GROUP
|
... | ... | |
44 |
44 |
# Create a File System on the front-end system disk.
|
45 |
45 |
mkfs -t $FRONT_END_HOME_DISK_FILE_SYSTEM \
|
46 |
46 |
$FRONT_END_HOME_VOLUME_GROUP_DEVICE/$FRONT_END_HOME_DISK
|
47 |
|
# Mount the system disk to copy all the specific files.
|
48 |
|
if [ ! -d $FRONT_END_SYSTEM_DISK_MOUNT_POINT ]; then
|
49 |
|
mkdir $FRONT_END_SYSTEM_DISK_MOUNT_POINT
|
|
47 |
# Mount the system disk to install the system.
|
|
48 |
if [ ! -d $FRONT_END_FILE_SYSTEM_MOUNT_POINT ]; then
|
|
49 |
mkdir $FRONT_END_FILE_SYSTEM_MOUNT_POINT
|
50 |
50 |
fi
|
51 |
51 |
mount $FRONT_END_SYSTEM_VOLUME_GROUP_DEVICE/$FRONT_END_SYSTEM_DISK \
|
52 |
|
$FRONT_END_SYSTEM_DISK_MOUNT_POINT
|
|
52 |
$FRONT_END_FILE_SYSTEM_MOUNT_POINT
|
|
53 |
# Create the directory for the homes
|
|
54 |
if [ ! -d "$FRONT_END_FILE_SYSTEM_MOUNT_POINT/home" ]; then
|
|
55 |
mkdir "$FRONT_END_FILE_SYSTEM_MOUNT_POINT/home"
|
|
56 |
fi
|
|
57 |
mount $FRONT_END_HOME_VOLUME_GROUP_DEVICE/$FRONT_END_HOME_DISK \
|
|
58 |
"$FRONT_END_FILE_SYSTEM_MOUNT_POINT/home"
|
|
59 |
|
53 |
60 |
#
|
54 |
61 |
# Get the cluster MAC address
|
55 |
62 |
#
|
56 |
63 |
CURRENT_PATH=/etc
|
57 |
64 |
FRONT_END_CLUSTER_MAC_ADDRESS=\
|
58 |
|
`awk -F, -v INDEX=$FRONT_END_STATIC_NETWORK_POSTFIX '{if (FNR==INDEX) {print $1}}' $SCRIPT_PATH/$TEMPLATES_DIR$CURRENT_PATH/$DHCP_HOSTSFILE_BASENAME`
|
|
65 |
`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`
|
59 |
66 |
#
|
60 |
67 |
# Create the Xen configuration file from a template
|
61 |
68 |
#
|
... | ... | |
130 |
137 |
rpl __VIF_STANZA__ "$VIF_STANZA" \
|
131 |
138 |
$CONST_XEN_CONFIG_DIR/$CURRENT_HOST_NAME.cfg
|
132 |
139 |
#
|
|
140 |
# Install the system.
|
|
141 |
#
|
|
142 |
echo deboostrap --arch `uname -m` stable $FRONT_END_FILE_SYSTEM_MOUNT_POINT
|
|
143 |
exit 0
|
133 |
144 |
#
|
|
145 |
#
|
134 |
146 |
# Configure the specific files from templates
|
135 |
147 |
#
|
136 |
148 |
# Create the /etc directory, if necessary
|
137 |
|
if [ ! -d $FRONT_END_SYSTEM_DISK_MOUNT_POINT/etc ] ; then
|
138 |
|
mkdir $FRONT_END_SYSTEM_DISK_MOUNT_POINT/etc
|
|
149 |
if [ ! -d $FRONT_END_FILE_SYSTEM_MOUNT_POINT/etc ] ; then
|
|
150 |
mkdir $FRONT_END_FILE_SYSTEM_MOUNT_POINT/etc
|
139 |
151 |
fi
|
140 |
152 |
# /etc/network/interfaces
|
141 |
153 |
# The first interface is DHCP configured.
|
142 |
|
# No '/' between $FRONT_END_SYSTEM_DISK_MOUNT_POINT and $CURRENT_PATH
|
|
154 |
# No '/' between $FRONT_END_FILE_SYSTEM_MOUNT_POINT and $CURRENT_PATH
|
143 |
155 |
CURRENT_PATH=/etc/network
|
144 |
|
if [ ! -d ${FRONT_END_SYSTEM_DISK_MOUNT_POINT}${CURRENT_PATH} ] ; then
|
145 |
|
mkdir ${FRONT_END_SYSTEM_DISK_MOUNT_POINT}${CURRENT_PATH}
|
|
156 |
if [ ! -d ${FRONT_END_FILE_SYSTEM_MOUNT_POINT}${CURRENT_PATH} ] ; then
|
|
157 |
mkdir ${FRONT_END_FILE_SYSTEM_MOUNT_POINT}${CURRENT_PATH}
|
146 |
158 |
fi
|
147 |
159 |
cp templates$CURRENT_PATH/$FRONT_END_INTERFACES_TEMPLATE \
|
148 |
|
$FRONT_END_SYSTEM_DISK_MOUNT_POINT$CURRENT_PATH/interfaces
|
|
160 |
$FRONT_END_FILE_SYSTEM_MOUNT_POINT$CURRENT_PATH/interfaces
|
149 |
161 |
if [ $CLUSTER_EXTERNAL_ADDRESSES_BY_DHCP -eq 1 ] ; then
|
150 |
162 |
ETH0_STANZA="iface eth0 inet dhcp"
|
151 |
163 |
rpl __ETH0_STATIC_OR_DHCP__ "$ETH0_STANZA" \
|
152 |
|
${FRONT_END_SYSTEM_DISK_MOUNT_POINT}${CURRENT_PATH}/interfaces
|
|
164 |
${FRONT_END_FILE_SYSTEM_MOUNT_POINT}${CURRENT_PATH}/interfaces
|
153 |
165 |
echo y | rpl __ETH0_STATIC_ADDRESS__ "" \
|
154 |
|
${FRONT_END_SYSTEM_DISK_MOUNT_POINT}${CURRENT_PATH}/interfaces
|
|
166 |
${FRONT_END_FILE_SYSTEM_MOUNT_POINT}${CURRENT_PATH}/interfaces
|
155 |
167 |
echo y | rpl __ETH0_STATIC_NETMASK__ "" \
|
156 |
|
${FRONT_END_SYSTEM_DISK_MOUNT_POINT}${CURRENT_PATH}/interfaces
|
|
168 |
${FRONT_END_FILE_SYSTEM_MOUNT_POINT}${CURRENT_PATH}/interfaces
|
157 |
169 |
echo y | rpl __ETH0_STATIC_NETWORK__ "" \
|
158 |
|
${FRONT_END_SYSTEM_DISK_MOUNT_POINT}${CURRENT_PATH}/interfaces
|
|
170 |
${FRONT_END_FILE_SYSTEM_MOUNT_POINT}${CURRENT_PATH}/interfaces
|
159 |
171 |
echo y | rpl __ETH0_STATIC_GATEWAY__ "" \
|
160 |
|
${FRONT_END_SYSTEM_DISK_MOUNT_POINT}${CURRENT_PATH}/interfaces
|
|
172 |
${FRONT_END_FILE_SYSTEM_MOUNT_POINT}${CURRENT_PATH}/interfaces
|
161 |
173 |
echo y | rpl __ETH0_STATIC_BROADCAST__ "" \
|
162 |
|
${FRONT_END_SYSTEM_DISK_MOUNT_POINT}${CURRENT_PATH}/interfaces
|
|
174 |
${FRONT_END_FILE_SYSTEM_MOUNT_POINT}${CURRENT_PATH}/interfaces
|
163 |
175 |
echo y | rpl __ETH0_STATIC_NAMESERVERS__ "" \
|
164 |
|
${FRONT_END_SYSTEM_DISK_MOUNT_POINT}${CURRENT_PATH}/interfaces
|
|
176 |
${FRONT_END_FILE_SYSTEM_MOUNT_POINT}${CURRENT_PATH}/interfaces
|
165 |
177 |
echo y | rpl __ETH0_STATIC_DNS_SEARCH__ "" \
|
166 |
|
${FRONT_END_SYSTEM_DISK_MOUNT_POINT}${CURRENT_PATH}/interfaces
|
|
178 |
${FRONT_END_FILE_SYSTEM_MOUNT_POINT}${CURRENT_PATH}/interfaces
|
167 |
179 |
else
|
168 |
180 |
ETH0_STANZA="iface eth0 inet static"
|
169 |
181 |
rpl __ETH0_STATIC_OR_DHCP__ "$ETH0_STANZA" \
|
170 |
|
${FRONT_END_SYSTEM_DISK_MOUNT_POINT}${CURRENT_PATH}/interfaces
|
|
182 |
${FRONT_END_FILE_SYSTEM_MOUNT_POINT}${CURRENT_PATH}/interfaces
|
171 |
183 |
echo y | rpl __ETH0_STATIC_ADDRESS__ "$FRONT_END_CLUSTER_STATIC_IP" \
|
172 |
|
${FRONT_END_SYSTEM_DISK_MOUNT_POINT}${CURRENT_PATH}/interfaces
|
|
184 |
${FRONT_END_FILE_SYSTEM_MOUNT_POINT}${CURRENT_PATH}/interfaces
|
173 |
185 |
echo y | rpl __ETH0_STATIC_NETMASK__ "$FRONT_END_EXTERNAL_INTERFACE_STATIC_NETMASK" \
|
174 |
|
${FRONT_END_SYSTEM_DISK_MOUNT_POINT}${CURRENT_PATH}/interfaces
|
|
186 |
${FRONT_END_FILE_SYSTEM_MOUNT_POINT}${CURRENT_PATH}/interfaces
|
175 |
187 |
echo y | rpl __ETH0_STATIC_NETWORK__ "$FRONT_END_EXTERNAL_INTERFACE_STATIC_NETWORK" \
|
176 |
|
${FRONT_END_SYSTEM_DISK_MOUNT_POINT}${CURRENT_PATH}/interfaces
|
|
188 |
${FRONT_END_FILE_SYSTEM_MOUNT_POINT}${CURRENT_PATH}/interfaces
|
177 |
189 |
echo y | rpl __ETH0_STATIC_GATEWAY__ "$FRONT_END_EXTERNAL_INTERFACE_STATIC_GATEWAY" \
|
178 |
|
${FRONT_END_SYSTEM_DISK_MOUNT_POINT}${CURRENT_PATH}/interfaces
|
|
190 |
${FRONT_END_FILE_SYSTEM_MOUNT_POINT}${CURRENT_PATH}/interfaces
|
179 |
191 |
echo y | rpl __ETH0_STATIC_BROADCAST__ "$FRONT_END_EXTERNAL_INTERFACE_STATIC_BROADCAST" \
|
180 |
|
${FRONT_END_SYSTEM_DISK_MOUNT_POINT}${CURRENT_PATH}/interfaces
|
|
192 |
${FRONT_END_FILE_SYSTEM_MOUNT_POINT}${CURRENT_PATH}/interfaces
|
181 |
193 |
echo y | rpl __ETH0_STATIC_NAMESERVERS__ "$FRONT_END_EXTERNAL_INTERFACE_STATIC_DNS_NAMESERVERS" \
|
182 |
|
${FRONT_END_SYSTEM_DISK_MOUNT_POINT}${CURRENT_PATH}/interfaces
|
|
194 |
${FRONT_END_FILE_SYSTEM_MOUNT_POINT}${CURRENT_PATH}/interfaces
|
183 |
195 |
echo y | rpl __ETH0_STATIC_DNS_SEARCH__ "$FRONT_END_EXTERNAL_INTERFACE_STATIC_DNS_SEARCH" \
|
184 |
|
${FRONT_END_SYSTEM_DISK_MOUNT_POINT}${CURRENT_PATH}/interfaces
|
|
196 |
${FRONT_END_FILE_SYSTEM_MOUNT_POINT}${CURRENT_PATH}/interfaces
|
185 |
197 |
fi
|
186 |
198 |
ADDRESS="$CLUSTER_STATIC_NETWORK_PREFIX.$FRONT_END_STATIC_NETWORK_POSTFIX"
|
187 |
199 |
rpl __ETH1_STATIC_ADDRESS__ $ADDRESS \
|
188 |
|
${FRONT_END_SYSTEM_DISK_MOUNT_POINT}${CURRENT_PATH}/interfaces
|
|
200 |
${FRONT_END_FILE_SYSTEM_MOUNT_POINT}${CURRENT_PATH}/interfaces
|
189 |
201 |
# /etc/hostname
|
190 |
202 |
CURRENT_PATH=/etc
|
191 |
203 |
echo $CURRENT_HOST_NAME > "${FRONT_END_DISK_MOUNT_POINT}${CURRENT_PATH}/hostname"
|
192 |
|
# /etc/hosts
|
|
204 |
# /etc/hosts. Script generated.
|
193 |
205 |
CURRENT_PATH=/etc
|
194 |
|
CURRENT_HOST_IP="${CLUSTER_STATIC_NETWORK_PREFIX}.${FRONT_END_STATIC_NETWORK_POSTFIX}"
|
195 |
|
cp templates$CURRENT_PATH/hosts \
|
196 |
|
${FRONT_END_SYSTEM_DISK_MOUNT_POINT}${CURRENT_PATH}
|
197 |
|
rpl __COMPUTE_NODE_IP__ $CURRENT_HOST_IP \
|
198 |
|
${FRONT_END_SYSTEM_DISK_MOUNT_POINT}${CURRENT_PATH}/hosts
|
199 |
|
rpl __COMPUTE_NODE_NAME__ $CURRENT_HOST_NAME \
|
200 |
|
${FRONT_END_SYSTEM_DISK_MOUNT_POINT}${CURRENT_PATH}/hosts
|
|
206 |
$SCRIPT_PATH/generate-hosts-file \
|
|
207 |
${FRONT_END_FILE_SYSTEM_MOUNT_POINT}${CURRENT_PATH}/hosts
|
201 |
208 |
# /etc/resolv.conf
|
202 |
209 |
CURRENT_PATH=/etc
|
203 |
210 |
cp $TEMPLATES_DIR$CURRENT_PATH/resolv.conf \
|
204 |
|
${FRONT_END_SYSTEM_DISK_MOUNT_POINT}${CURRENT_PATH}/resolv.conf
|
|
211 |
${FRONT_END_FILE_SYSTEM_MOUNT_POINT}${CURRENT_PATH}/resolv.conf
|
205 |
212 |
rpl __CLUSTER_DOMAIN_NAME__ "${CLUSTER_DOMAIN_NAME}." \
|
206 |
|
${FRONT_END_SYSTEM_DISK_MOUNT_POINT}${CURRENT_PATH}/resolv.conf
|
207 |
|
rpl __FRONT_END_STATIC_ADDRESS__ "${CLUSTER_STATIC_NETWORK_PREFIX}.$FRONT_END_STATIC_NETWORK_POSTFIX" \
|
208 |
|
${FRONT_END_SYSTEM_DISK_MOUNT_POINT}${CURRENT_PATH}/resolv.conf
|
209 |
|
exit 0
|
|
213 |
${FRONT_END_FILE_SYSTEM_MOUNT_POINT}${CURRENT_PATH}/resolv.conf
|
|
214 |
rpl __FRONT_END_STATIC_ADDRESS__ "${CLUSTER_STATIC_NETWORK_PREFIX}.${CONST_FRONT_END_CLUSTER_STATIC_NETWORK_POSTFIX}" \
|
|
215 |
${FRONT_END_FILE_SYSTEM_MOUNT_POINT}${CURRENT_PATH}/resolv.conf
|
210 |
216 |
#
|
211 |
217 |
# Umount the compute node system disk
|
212 |
218 |
#
|
213 |
|
umount $FRONT_END_SYSTEM_DISK_MOUNT_POINT
|
|
219 |
umount $FRONT_END_FILE_SYSTEM_MOUNT_POINT
|
214 |
220 |
#
|
215 |
221 |
# Start the virtual machine
|
216 |
222 |
#
|