Révision 53

trunk/shell/configuration-start-compute-nodes (revision 53)
1
#! /bin/bash -x
1
#! /bin/bash 
2 2
#
3 3
# ST - 2012-07-03
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
23 22
#
24 23
# Check command line arguments.
25 24
#
26
if [ "x$1" == "x" ]
27
  then
28
     echo
29
     echo "Missing parameter. Aborting!"
30
     echo
31
     echo "Usage: $SCRIPT_NAME configuration"
32
     echo
33
     echo -e "  configuration: one of $CONFIGURATIONS_STRING\b}"
34
     exit 1
25
if [ "x$1" == "x" ] ; then
26
    echo
27
    echo "Missing parameter. Aborting!"
28
    echo
29
    echo "Usage: $SCRIPT_NAME configuration"
30
    echo
31
    echo -e "  configuration: one of $CONFIGURATIONS_STRING\b}"
32
    echo
33
    echo
34
    exit 1
35 35
fi
36 36
#
37 37
# Does the configuration exist?
trunk/shell/configuration-delete-compute-nodes (revision 53)
1
#! /bin/bash -x
1
#! /bin/bash 
2 2
#
3 3
# ST - 2012-07-04
4 4
#
......
15 15
#
16 16
CONFIGURATIONS=`ls $SCRIPT_PATH/$CONST_CONFIGURATIONS_DIR`
17 17
CONFIGURATIONS_STRING="{"
18
echo $CONFIGURATIONS
19 18
for i in $CONFIGURATIONS ; do
20 19
  CONFIGURATIONS_STRING="$CONFIGURATIONS_STRING$i|"
21 20
done
......
79 78
  #
80 79
  CURRENT_HOST_NAME=${COMPUTE_NODE_NAME_PREFIX}${COMPUTE_NODE_INDEX_STRING}
81 80
  #
81
  echo "Deleting $CURRENT_HOST_NAME..."
82
  #
82 83
  # If the compute node is running, stop it.
83 84
  #
84 85
  IS_RUNNING=`xm list | grep $CURRENT_HOST_NAME`
......
92 93
      IS_RUNNING=`xm list | grep $CURRENT_HOST_NAME`
93 94
      sleep 1
94 95
    done # End while
96
  sleep 1  # Extra delay after VM is stopped.
95 97
  fi # End compute node is running.
96 98
  #
97 99
  # If necessary, delete the VM system disk.
trunk/shell/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
trunk/shell/configurations/manycores/c-i-a-b.config.common (revision 53)
1 1
# Manycores configuration specific variables.
2 2
#
3 3
COMPUTE_NODE_CPUS_FILE=compute-nodes-cpus
4
COMPUTE_NODE_SYSTEM_DISK_CLONE_SIZE=20G
4
COMPUTE_NODE_SYSTEM_DISK_CLONE_SIZE=15G
5 5
COMPUTE_NODE_MEMORY=2048 # 2 Gb
6 6
COMPUTE_NODE_MAX_INDEX=42
7 7
COMPUTE_NODE_SWAP_DISK_SIZE=$CONST_NULL_DISK_SIZE
trunk/shell/configuration-stop-compute-nodes (revision 53)
1
#! /bin/bash -x
1
#! /bin/bash
2 2
#
3 3
# ST - 2012-07-03
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
......
25 24
#
26 25
if [ "x$1" == "x" ]
27 26
  then
28
     echo
29
     echo "Missing parameter. Aborting!"
30
     echo
31
     echo "Usage: $SCRIPT_NAME configuration"
32
     echo
33
     echo -e "  configuration: one of $CONFIGURATIONS_STRING\b}"
34
     exit 1
27
    echo
28
    echo "Missing parameter. Aborting!"
29
    echo
30
    echo "Usage: $SCRIPT_NAME configuration"
31
    echo
32
    echo -e "  configuration: one of $CONFIGURATIONS_STRING\b}"
33
    echo
34
    echo     
35
    exit 1
35 36
fi
36 37
#
37 38
# Does the configuration exist?
......
61 62
#
62 63
. $SCRIPT_PATH/$CONST_CONFIGURATIONS_DIR/$CONFIGURATION/c-i-a-b.config.common
63 64
#
64
# Start the compute-nodes.
65
# Stop the compute-nodes.
65 66
#
66 67
COMPUTE_NODE_INDEX=1
67 68
while [ $COMPUTE_NODE_INDEX -le $COMPUTE_NODE_MAX_INDEX ] ; do
......
80 81
  # Check if the corresponding VM is already running.
81 82
  #
82 83
  IS_RUNNING=`xm list | grep $CURRENT_HOST_NAME`
83
  if [ -n "$IS_RUNNING" ] ; then
84
    echo
85
    echo The \"$CURRENT_HOST_NAME\" domU already exists. Aborting!
86
    echo
87
  fi
88
  #
89
  # Get the CPU data.
90
  #
91
  COMPUTE_NODE_CPUS=`sed -n ${NODE_NUMBER},${NODE_NUMBER}p $SCRIPT_PATH/$CONST_CONFIGURATIONS_DIR/$CONFIGURATION/$COMPUTE_NODE_CPUS_FILE`
92
  COMPUTE_NODE_VCPUS_NUM=0
93
  COMPUTE_NODE_CPUS_LIST=""
94
  for i in $COMPUTE_NODE_CPUS ; do
95
    if [ -z $COMPUTE_NODE_CPUS_LIST ] ; then
96
      COMPUTE_NODE_CPUS_LIST=$i
97
    else
98
      COMPUTE_NODE_CPUS_LIST="$COMPUTE_NODE_CPUS_LIST,$i"
84
  if [ ! -z "$IS_RUNNING" ] ; then
85
    echo "Stopping $CURRENT_HOST_NAME..."
86
    #
87
    # Stop the virtual machine
88
    #
89
    xm shutdown $CURRENT_HOST_NAME
90
    if [ $? -ne 0 ] ; then
91
      ciab_abort_message "Can't stop $CURRENT_HOST_NAME" 1
99 92
    fi
100
    COMPUTE_NODE_VCPUS_NUM=$((COMPUTE_NODE_VCPUS_NUM + 1))
101
  done
102
  #
103
  # Check that the configuration file exists.
104
  #
105
  if [ ! -f $CONST_XEN_CONFIG_DIR/$CURRENT_HOST_NAME.cfg ] ; then
106
    echo
107
    echo
108
    echo "No configuration file for \"$CURRENT_HOST_NAME\."
109
    echo "Aborting!"
110
    echo
111
    echo
112
    xm list
113
    exit 1
114
  fi
115
  #
116
  # Start the virtual machine
117
  #
118
  xm create $CONST_XEN_CONFIG_DIR/$CURRENT_HOST_NAME.cfg
119
  #
120
  # Wait until the virtual machine has started
121
  #
122
  IS_RUNNING=""
123
  while [ -z "$IS_RUNNING" ]
124
    do
125
      IS_RUNNING=`xm list | grep $CURRENT_HOST_NAME`
126
      sleep 1
127
  done # End while
128
  #
129
  # Pin the VCPUs to "real" CPUs.
130
  #
131
  VCPU_INDEX=0
132
  for i in $COMPUTE_NODE_CPUS_LIST ; do
133
    xm vcpu-pin $CURRENT_HOST_NAME $VCPU_INDEX $i
134
    VCPU_INDEX=$((VCPU_INDEX + 1))
135
  done # End for i
93
    #
94
    # Wait until the virtual machine has stopped.
95
    #
96
    IS_RUNNING=""
97
    while [ ! -z "$IS_RUNNING" ]
98
      do
99
        IS_RUNNING=`xm list | grep $CURRENT_HOST_NAME`
100
        sleep 1
101
    done # End while
102
  else
103
    echo "$CURRENT_HOST_NAME is already stopped."
104
  fi # End if IS_RUNNING.
136 105
  COMPUTE_NODE_INDEX=$((COMPUTE_NODE_INDEX + 1))
137 106
done # End main loop.
138 107
#

Formats disponibles : Unified diff