Révision 53 trunk/shell/configuration-create-compute-nodes

configuration-create-compute-nodes (revision 53)
1
#! /bin/bash -x
1
#! /bin/bash
2 2
#
3 3
# ST - 2012-07-04
4 4
#
......
16 16
#
17 17
CONFIGURATIONS=`ls $SCRIPT_PATH/$CONST_CONFIGURATIONS_DIR`
18 18
CONFIGURATIONS_STRING="{"
19
echo $CONFIGURATIONS
20 19
for i in $CONFIGURATIONS ; do
21 20
  CONFIGURATIONS_STRING="$CONFIGURATIONS_STRING$i|"
22 21
done
......
80 79
  #
81 80
  CURRENT_HOST_NAME=${COMPUTE_NODE_NAME_PREFIX}${COMPUTE_NODE_INDEX_STRING}
82 81
  #
82
  echo "Creating $CURRENT_HOST_NAME..."
83
  #
83 84
  # Get the compute node MAC address on the cluster.
84 85
  #
85 86
  CURRENT_PATH=/etc
86
  COMPUTE_NODE_CLUSTER_MAC_ADDRESS=\
87
  `awk -F, -v INDEX=$COMPUTE_NODE_INDEX '{if (FNR==INDEX) {print $1}}' $SCRIPT_PATH/${CONST_TEMPLATES_DIR}$CURRENT_PATH/$CONST_DHCP_HOSTS_FILE_BASENAME`
87
  COMPUTE_NODE_CLUSTER_MAC_ADDRESS=`awk -F, -v INDEX=$COMPUTE_NODE_INDEX '{if (FNR==INDEX) {print $1}}' $SCRIPT_PATH/${CONST_TEMPLATES_DIR}$CURRENT_PATH/$CONST_DHCP_HOSTS_FILE_BASENAME`
88 88
  #
89 89
  # Create the VM system disk (a snapshot of the model disk).
90 90
  #
......
133 133
  CURRENT_PATH=/etc/xen
134 134
  cp ${CONST_TEMPLATES_DIR}$CURRENT_PATH/$CONST_COMPUTE_NODE_XEN_TEMPLATE_NAME \
135 135
     $CONST_XEN_CONFIG_DIR/$CURRENT_HOST_NAME.cfg
136
  rpl -q Template Configuration $CONST_XEN_CONFIG_DIR/$CURRENT_HOST_NAME.cfg
136
  rpl -q Template Configuration $CONST_XEN_CONFIG_DIR/$CURRENT_HOST_NAME.cfg > /dev/null 2>&1
137 137
  rpl -q __COMPUTE_NODE_KERNEL__ "$COMPUTE_NODE_KERNEL" \
138
     $CONST_XEN_CONFIG_DIR/$CURRENT_HOST_NAME.cfg
138
     $CONST_XEN_CONFIG_DIR/$CURRENT_HOST_NAME.cfg  > /dev/null 2>&1
139 139
  rpl -q __COMPUTE_NODE_RAMDISK__ "$COMPUTE_NODE_RAMDISK" \
140
     $CONST_XEN_CONFIG_DIR/$CURRENT_HOST_NAME.cfg
140
     $CONST_XEN_CONFIG_DIR/$CURRENT_HOST_NAME.cfg > /dev/null 2>&1
141 141
  rpl -q __COMPUTE_NODE_VCPUS_NUM__ "$COMPUTE_NODE_VCPUS_NUM" \
142
     $CONST_XEN_CONFIG_DIR/$CURRENT_HOST_NAME.cfg
142
     $CONST_XEN_CONFIG_DIR/$CURRENT_HOST_NAME.cfg > /dev/null 2>&1
143 143
  rpl -q __COMPUTE_NODE_CPUS__ "$COMPUTE_NODE_CPUS_LIST" \
144
     $CONST_XEN_CONFIG_DIR/$CURRENT_HOST_NAME.cfg
144
     $CONST_XEN_CONFIG_DIR/$CURRENT_HOST_NAME.cfg > /dev/null 2>&1
145 145
  # Memory
146 146
  rpl -q __COMPUTE_NODE_MEMORY__ "$COMPUTE_NODE_MEMORY" \
147
     $CONST_XEN_CONFIG_DIR/$CURRENT_HOST_NAME.cfg
147
     $CONST_XEN_CONFIG_DIR/$CURRENT_HOST_NAME.cfg > /dev/null 2>&1
148 148
  # Root device
149 149
  rpl -q __XEN_SYSTEM_DISK_ROOT_DEVICE_STANZA__ "$CONST_XEN_SYSTEM_DISK_ROOT_DEVICE_STANZA" \
150
     $CONST_XEN_CONFIG_DIR/$CURRENT_HOST_NAME.cfg
150
     $CONST_XEN_CONFIG_DIR/$CURRENT_HOST_NAME.cfg > /dev/null 2>&1
151 151
  #
152 152
  # System disk stuff
153 153
  #
154 154
  COMPUTE_NODE_SYSTEM_DISK_STANZA="'phy:${COMPUTE_NODE_MODEL_SYSTEM_VOLUME_GROUP_DEVICE}/${COMPUTE_NODE_SYSTEM_DISK},$COMPUTE_NODE_SYSTEM_VIRTUAL_VOLUME,w'"
155 155
  rpl -q __COMPUTE_NODE_SYSTEM_DISK_STANZA__ "$COMPUTE_NODE_SYSTEM_DISK_STANZA" \
156
     $CONST_XEN_CONFIG_DIR/$CURRENT_HOST_NAME.cfg
156
     $CONST_XEN_CONFIG_DIR/$CURRENT_HOST_NAME.cfg > /dev/null 2>&1
157 157
  #
158 158
  # No home disk stuff: home is network mounted.
159 159
  #
......
161 161
  if [ "x$COMPUTE_NODE_SWAP_DISK_SIZE" != "x$CONST_NULL_DISK_SIZE" ] ; then
162 162
    COMPUTE_NODE_SWAP_DISK_STANZA="'phy:${COMPUTE_NODE_SWAP_DISK_VOLUME_GROUP_DEVICE}/${COMPUTE_NODE_SWAP_DISK},$COMPUTE_NODE_SWAP_VIRTUAL_VOLUME,w'"
163 163
    rpl -q __COMPUTE_NODE_SWAP_DISK_STANZA__ "$COMPUTE_NODE_SWAP_DISK_STANZA" \
164
       $CONST_XEN_CONFIG_DIR/$CURRENT_HOST_NAME.cfg
164
       $CONST_XEN_CONFIG_DIR/$CURRENT_HOST_NAME.cfg > /dev/null 2>&1
165 165
    # Comment out the noswap stanza.
166 166
    rpl -q __COMPUTE_NODE_NOSWAP__ "#$CLUSTER_NOSWAP" \
167
       $CONST_XEN_CONFIG_DIR/$CURRENT_HOST_NAME.cfg
167
       $CONST_XEN_CONFIG_DIR/$CURRENT_HOST_NAME.cfg > /dev/null 2>&1
168 168
  else # No swap
169 169
    rpl -q __COMPUTE_NODE_SWAP_DISK_STANZA__ "" \
170
       $CONST_XEN_CONFIG_DIR/$CURRENT_HOST_NAME.cfg
170
       $CONST_XEN_CONFIG_DIR/$CURRENT_HOST_NAME.cfg > /dev/null 2>&1
171 171
    rpl -q __COMPUTE_NODE_NOSWAP__ "$CLUSTER_NOSWAP" \
172
       $CONST_XEN_CONFIG_DIR/$CURRENT_HOST_NAME.cfg
172
       $CONST_XEN_CONFIG_DIR/$CURRENT_HOST_NAME.cfg > /dev/null 2>&1
173 173
  fi
174 174
  #
175 175
  rpl -q __COMPUTE_NODE_HOST_NAME__ "$CURRENT_HOST_NAME" \
176
     $CONST_XEN_CONFIG_DIR/$CURRENT_HOST_NAME.cfg
176
     $CONST_XEN_CONFIG_DIR/$CURRENT_HOST_NAME.cfg > /dev/null 2>&1
177 177
  # Vif stuff.
178
  COMPUTE_NODE_CLUSTER_STATIC_IP=\
179
  `awk -F, -v INDEX=$NODE_NUMBER '{if (FNR==INDEX) {print $3}}' $SCRIPT_PATH/${CONST_TEMPLATES_DIR}/etc/$CONST_DHCP_HOSTS_FILE_BASENAME`
178
  
179
  COMPUTE_NODE_CLUSTER_STATIC_IP=`awk -F, -v INDEX=$COMPUTE_NODE_INDEX '{if (FNR==INDEX) {print $3}}' $SCRIPT_PATH/${CONST_TEMPLATES_DIR}/etc/$CONST_DHCP_HOSTS_FILE_BASENAME`
180 180
  VIF_STANZA=$CONST_XEN_VIF_STANZA_PREFIX
181 181
  INTERNAL_MAC="${CONST_XEN_MAC_PREFIX}${COMPUTE_NODE_CLUSTER_MAC_ADDRESS}"
182 182
  INTERNAL_BRIDGE="${CONST_XEN_BRIDGE_PREFIX}${CLUSTER_BRIDGE_NAME}"
183 183
  INTERNAL_IP="${CONST_XEN_IP_PREFIX}${COMPUTE_NODE_CLUSTER_STATIC_IP}"
184 184
  if [ $CLUSTER_INTERNAL_ADDRESSES_BY_DHCP -eq 1 ] ; then
185 185
    rpl -q __XEN_DHCP_STANZA__ "$CONST_XEN_DHCP_STANZA" \
186
       $CONST_XEN_CONFIG_DIR/$CURRENT_HOST_NAME.cfg
186
       $CONST_XEN_CONFIG_DIR/$CURRENT_HOST_NAME.cfg > /dev/null 2>&1
187 187
    VIF_STANZA=${VIF_STANZA}${INTERNAL_IP}","${INTERNAL_MAC}","${INTERNAL_BRIDGE}${CONST_XEN_VIF_STANZA_POSTFIX}
188 188
  else
189 189
    # Comment out the DHCP_STANZA.
190 190
    rpl -q __XEN_DHCP_STANZA__ "#$CONST_XEN_DHCP_STANZA" \
191
       $CONST_XEN_CONFIG_DIR/$CURRENT_HOST_NAME.cfg
191
       $CONST_XEN_CONFIG_DIR/$CURRENT_HOST_NAME.cfg > /dev/null 2>&1
192 192
    VIF_STANZA=${VIF_STANZA}${INTERNAL_IP}","${INTERNAL_MAC},${INTERNAL_BRIDGE}${CONST_XEN_VIF_STANZA_POSTFIX}
193 193
fi
194 194
  # In any case, write the VIF_STANZA
195 195
  rpl -q __VIF_STANZA__ "$VIF_STANZA" \
196
     $CONST_XEN_CONFIG_DIR/$CURRENT_HOST_NAME.cfg
196
     $CONST_XEN_CONFIG_DIR/$CURRENT_HOST_NAME.cfg > /dev/null 2>&1
197 197
  # Console stuff as extra parameter
198 198
  rpl -q __EXTRA_STANZA__ "$CONST_XEN_EXTRA_STANZA" \
199
     $CONST_XEN_CONFIG_DIR/$CURRENT_HOST_NAME.cfg
199
     $CONST_XEN_CONFIG_DIR/$CURRENT_HOST_NAME.cfg > /dev/null 2>&1
200 200
  # End creation of Xen configuration file.
201 201
  #
202 202
  # Complete installation
......
233 233
  # Static address on the cluster interface.
234 234
  # The DHCP case should be delt with. It involves a template overhaul.
235 235
  rpl -q __STATIC_ADDRESS__ "$COMPUTE_NODE_CLUSTER_STATIC_IP" \
236
      ${COMPUTE_NODE_FILE_SYSTEM_MOUNT_POINT}${CURRENT_PATH}/interfaces
236
      ${COMPUTE_NODE_FILE_SYSTEM_MOUNT_POINT}${CURRENT_PATH}/interfaces > /dev/null 2>&1
237 237
  rpl -q __STATIC_NETMASK__ "$CLUSTER_STATIC_NETMASK"  \
238
      ${COMPUTE_NODE_FILE_SYSTEM_MOUNT_POINT}${CURRENT_PATH}/interfaces
238
      ${COMPUTE_NODE_FILE_SYSTEM_MOUNT_POINT}${CURRENT_PATH}/interfaces > /dev/null 2>&1
239 239
    
240 240
  # /etc/hostname
241 241
  CURRENT_PATH=/etc

Formats disponibles : Unified diff