Révision 29 trunk/shell/create-start-front-end

create-start-front-end (revision 29)
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
#

Formats disponibles : Unified diff