Révision 50

trunk/shell/set-xen-config (revision 50)
17 17
CURRENT_DIR=/etc/xen-tools
18 18
mv $CURRENT_DIR/$CURRENT_FILE $CURRENT_DIR/$CURRENT_FILE.orig.`date  +%Y-%m-%d`
19 19
# Set the new configuration file.
20
cp $SCRIPT_PATH/$TEMPLATES_DIR$CURRENT_DIR/$CURRENT_FILE $CURRENT_DIR
20
cp $SCRIPT_PATH/${CONST_TEMPLATES_DIR}$CURRENT_DIR/$CURRENT_FILE $CURRENT_DIR
21 21
rpl __CLUSTER_ARCH__ $CLUSTER_ARCH $CURRENT_DIR/$CURRENT_FILE
22 22
rpl __CLUSTER_IMAGE__ $CLUSTER_IMAGE $CURRENT_DIR/$CURRENT_FILE
23 23
if [ "$CLUSTER_SWAP_SIZE" = "$CONST_NULL_DISK_SIZE" ]; then
......
33 33
# No orignal file to save
34 34
CURRENT_DIR=/etc/xen/scripts
35 35
# Set the file.
36
cp $SCRIPT_PATH/$TEMPLATES_DIR$CURRENT_DIR/$CURRENT_FILE $CURRENT_DIR
36
cp $SCRIPT_PATH/${CONST_TEMPLATES_DIR}$CURRENT_DIR/$CURRENT_FILE $CURRENT_DIR
37 37
chmod u+x $CURRENT_DIR/$CURRENT_FILE
38 38
#
39 39
# File /etc/xen/xend-config.sxp
......
42 42
CURRENT_DIR=/etc/xen
43 43
mv $CURRENT_DIR/$CURRENT_FILE $CURRENT_DIR/$CURRENT_FILE.orig.`date  +%Y-%m-%d`
44 44
# Set the new configuration file.
45
cp $SCRIPT_PATH/$TEMPLATES_DIR$CURRENT_DIR/$CURRENT_FILE $CURRENT_DIR
45
cp $SCRIPT_PATH/${CONST_TEMPLATES_DIR}$CURRENT_DIR/$CURRENT_FILE $CURRENT_DIR
46 46
rpl __CLUSTER_BRIDGE_CLAUSE__ "$CLUSTER_BRIDGE_STANZA" \
47 47
    $CURRENT_DIR/$CURRENT_FILE
48 48
rpl __DOM0_CPUS_CLAUSE__ "$DOM0_CPUS_CLAUSE" $CURRENT_DIR/$CURRENT_FILE
trunk/shell/start-compute-node (revision 50)
60 60
#
61 61
# /etc/network/interfaces
62 62
CURRENT_PATH=/etc/network
63
cp templates$CURRENT_PATH/interfaces \
63
cp ${CONST_TEMPLATES_DIR}$CURRENT_PATH/interfaces \
64 64
   $COMPUTE_NODE_DISK_MOUNT_POINT/$CURRENT_PATH
65 65
ADDRESS="$COMPUTE_NODE_STATIC_NETWORK_PREFIX.$NODE_NUMBER"
66 66
rpl __STATIC_ADDRESS__ $ADDRESS  \
......
71 71
# /etc/hosts
72 72
CURRENT_PATH=/etc
73 73
CURRENT_HOST_IP="${COMPUTE_NODE_STATIC_NETWORK_PREFIX}.${NODE_NUMBER}"
74
cp templates$CURRENT_PATH/hosts \
74
cp ${CONST_TEMPLATES_DIR}$CURRENT_PATH/hosts \
75 75
   $COMPUTE_NODE_DISK_MOUNT_POINT/$CURRENT_PATH
76 76
rpl __COMPUTE_NODE_IP__ $CURRENT_HOST_IP \
77 77
    ${COMPUTE_NODE_DISK_MOUNT_POINT}${CURRENT_PATH}/hosts
......
79 79
    ${COMPUTE_NODE_DISK_MOUNT_POINT}${CURRENT_PATH}/hosts
80 80
# /etc/resolv.conf
81 81
CURRENT_PATH=/etc
82
cp $TEMPLATES_DIR$CURRENT_PATH/resolv.conf \
82
cp ${CONST_TEMPLATES_DIR}$CURRENT_PATH/resolv.conf \
83 83
   ${COMPUTE_NODE_DISK_MOUNT_POINT}${CURRENT_PATH}/resolv.conf
84 84
rpl __CLUSTER_DOMAIN_NAME__ "${CLUSTER_DOMAIN_NAME}." \
85 85
   ${COMPUTE_NODE_DISK_MOUNT_POINT}${CURRENT_PATH}/resolv.conf
......
90 90
#
91 91
CURRENT_PATH=/etc
92 92
COMPUTE_NODE_MAC_ADDRESS=\
93
`awk -F, -v INDEX=$NODE_NUMBER '{if (FNR==INDEX) {print $1}}' $SCRIPT_PATH/$TEMPLATES_DIR$CURRENT_PATH/$CONST_DHCP_HOSTS_FILE_BASENAME`
93
`awk -F, -v INDEX=$NODE_NUMBER '{if (FNR==INDEX) {print $1}}' $SCRIPT_PATH/${CONST_TEMPLATES_DIR}$CURRENT_PATH/$CONST_DHCP_HOSTS_FILE_BASENAME`
94 94
#
95 95
# Create the Xen configuration file from a template
96 96
#
97 97
CURRENT_PATH=/etc/xen
98
cp templates$CURRENT_PATH/compute-node.cfg \
98
cp ${CONST_TEMPLATES_DIR}$CURRENT_PATH/compute-node.cfg \
99 99
   $SCRIPT_PATH/$CURRENT_HOST_NAME.cfg
100 100
rpl Template Configuration $SCRIPT_PATH/$CURRENT_HOST_NAME.cfg
101 101
rpl "the Xen instance compute-node" "compute-node-$NODE_NUMBER_STRING" \
trunk/shell/c-i-a-b.common (revision 50)
2 2
#
3 3
# Constants that no one should not change.
4 4
# Compute nodes from 1 to 250
5
CONST_CONFIGURATIONS_DIR=configurations
5 6
CONST_COMPUTE_NODE="compute-node"
7
CONST_COMPUTE_NODE_XEN_TEMPLATE_NAME="${CONST_COMPUTE_NODE}.cfg"
6 8
CONST_COMPUTE_NODE_MAX_NUM=250
7 9
CONST_COMPUTE_NODE_MODEL="compute-node-model"
8 10
CONST_COMPUTE_NODE_MODEL_CLUSTER_STATIC_NETWORK_POSTFIX=252
......
19 21
CONST_NO_DHCP="NO_DHCP"
20 22
CONST_SWAP_DISK_POSTFIX="swap-disk"
21 23
CONST_SYSTEM_DISK_POSTFIX="system-disk"
24
CONST_TEMPLATES_DIR=templates
22 25
#
23 26
# Constants that may change with Debian version
24 27
CONST_DEBIAN_ARCH=amd64
......
54 57
CLUSTER_EXTERNAL_ADDRESSES_BY_DHCP=1
55 58
CLUSTER_EXTERNAL_MAC_PREFIX="00:16:3E:33:A6:"
56 59
CLUSTER_EXTERNAL_DOMAIN_NAME=lip.ens-lyon.fr
60
CLUSTER_INTERNAL_ADDRESSES_BY_DHCP=0
57 61
CLUSTER_IMAGE=full
58 62
CLUSTER_MAC_ADDRESS_PREFIX="00:16:3E:0F:6A"
59 63
CLUSTER_NOSWAP="$CONST_XEN_NOSWAP"
......
67 71
COMPUTE_NODE_BRIDGE=$CLUSTER_BRIDGE_NAME
68 72
COMPUTE_NODE_CPUS_FILE=compute-nodes-cpus
69 73
COMPUTE_NODE_DISK_MOUNT_POINT=/mnt/${CONST_COMPUTE_NODE}-system-disk
74
COMPUTE_NODE_FILE_SYSTEM_MOUNT_POINT=/mnt/compute-node-file-system
70 75
COMPUTE_NODE_FSTAB_TEMPLATE=${CONST_FSTAB_FILE_BASENAME}.${CONST_COMPUTE_NODE}
71 76
COMPUTE_NODE_HOME_DISK_FILE_SYSTEM=nfs4
72 77
COMPUTE_NODE_INTERFACES_TEMPLATE=interfaces.${CONST_COMPUTE_NODE}
......
167 172
#
168 173
HOSTS_FILE_BASENAME=hosts
169 174
#
170
SYSTEM_DISK_CLONE_POSTFIX="-disk"
171
SYSTEM_DISK_CLONE_PREFIX=$COMPUTE_NODE_NAME_PREFIX
172
SYSTEM_DISK_CLONE_SIZE=20G # Half of the master size.
173
SYSTEM_DISK_FILE_SYSTEM=ext3
174
SYSTEM_DISK_LOGICAL_VOLUME=/dev/vg_slow
175
SYSTEM_DISK_MASTER=$SYSTEM_DISK_LOGICAL_VOLUME/compute-node-model-disk
176
TEMPLATES_DIR=templates
177 175
USERS_HOME_DISK="users-home-disk"
178 176
USERS_HOME_DISK_SIZE=40G
179 177

  
trunk/shell/front-end-finish-up (revision 50)
17 17
#
18 18
CURRENT_PATH=/etc
19 19
FRONT_END_CLUSTER_MAC_ADDRESS=\
20
`awk -F, -v INDEX=$CONST_FRONT_END_CLUSTER_STATIC_NETWORK_POSTFIX '{if (FNR==INDEX) {print $1}}' $SCRIPT_PATH/$TEMPLATES_DIR$CURRENT_PATH/$CONST_DHCP_HOSTS_FILE_BASENAME`
20
`awk -F, -v INDEX=$CONST_FRONT_END_CLUSTER_STATIC_NETWORK_POSTFIX '{if (FNR==INDEX) {print $1}}' $SCRIPT_PATH/${CONST_TEMPLATES_DIR}$CURRENT_PATH/$CONST_DHCP_HOSTS_FILE_BASENAME`
21 21
#
22 22
#
23 23
# Create the Xen configuration file from a template
24 24
#
25 25
CURRENT_PATH=/etc/xen
26
cp templates$CURRENT_PATH/$CONST_FRONT_END_XEN_TEMPLATE_NAME \
26
cp ${CONST_TEMPLATES_DIR}$CURRENT_PATH/$CONST_FRONT_END_XEN_TEMPLATE_NAME \
27 27
   $CONST_XEN_CONFIG_DIR/$CURRENT_HOST_NAME.cfg
28 28
rpl -q Template Configuration $CONST_XEN_CONFIG_DIR/$CURRENT_HOST_NAME.cfg
29 29
rpl -q __FRONT_END_KERNEL__ $FRONT_END_KERNEL \
......
138 138
if [ ! -d ${FRONT_END_FILE_SYSTEM_MOUNT_POINT}${CURRENT_PATH} ] ; then
139 139
  mkdir ${FRONT_END_FILE_SYSTEM_MOUNT_POINT}${CURRENT_PATH}
140 140
fi
141
cp templates$CURRENT_PATH/$FRONT_END_INTERFACES_TEMPLATE \
141
cp ${CONST_TEMPLATES_DIR}$CURRENT_PATH/$FRONT_END_INTERFACES_TEMPLATE \
142 142
   $FRONT_END_FILE_SYSTEM_MOUNT_POINT$CURRENT_PATH/interfaces
143 143
if [ $CLUSTER_EXTERNAL_ADDRESSES_BY_DHCP -eq 1 ] ; then
144 144
  ETH0_STANZA="iface eth0 inet dhcp"
......
193 193
  ${FRONT_END_FILE_SYSTEM_MOUNT_POINT}${CURRENT_PATH}/hosts
194 194
# /etc/resolv.conf
195 195
CURRENT_PATH=/etc
196
cp $TEMPLATES_DIR$CURRENT_PATH/resolv.conf \
196
cp ${CONST_TEMPLATES_DIR}$CURRENT_PATH/resolv.conf \
197 197
   ${FRONT_END_FILE_SYSTEM_MOUNT_POINT}${CURRENT_PATH}/resolv.conf
198 198
rpl -q __CLUSTER_DOMAIN_NAME__ "${CLUSTER_DOMAIN_NAME}." \
199 199
   ${FRONT_END_FILE_SYSTEM_MOUNT_POINT}${CURRENT_PATH}/resolv.conf
......
203 203
# /etc/fstab
204 204
#
205 205
CURRENT_PATH=/etc
206
cp ${TEMPLATES_DIR}${CURRENT_PATH}/${FRONT_END_FSTAB_TEMPLATE} \
206
cp ${CONST_TEMPLATES_DIR}${CURRENT_PATH}/${FRONT_END_FSTAB_TEMPLATE} \
207 207
  ${FRONT_END_FILE_SYSTEM_MOUNT_POINT}${CURRENT_PATH}/fstab
208 208
  # Front-End System Disk Line
209 209
FESDL=${FRONT_END_SYSTEM_VIRTUAL_VOLUME_DEVICE}
......
237 237
#
238 238
# NFS V4 stuff
239 239
#
240
cp ${TEMPLATES_DIR}${CURRENT_PATH}/${FRONT_END_EXPORTS_TEMPLATE} \
240
cp ${CONST_TEMPLATES_DIR}${CURRENT_PATH}/${FRONT_END_EXPORTS_TEMPLATE} \
241 241
  ${FRONT_END_FILE_SYSTEM_MOUNT_POINT}${CURRENT_PATH}/$CONST_EXPORTS_FILE_BASENAME
242 242
NFS_HOME_STANZA="$CLUSTER_STATIC_NETWORK_PREFIX.0/${CLUSTER_STATIC_NETMASK}$FRONT_END_NFS_OPTIONS"
243 243
rpl -q __NFS_HOME_STANZA__ "$NFS_HOME_STANZA" \
trunk/shell/compute-node-model-finish-up (revision 50)
18 18
#
19 19
CURRENT_PATH=/etc
20 20
COMPUTE_NODE_MODEL_CLUSTER_MAC_ADDRESS=\
21
`awk -F, -v INDEX=$CONST_COMPUTE_NODE_MODEL_CLUSTER_STATIC_NETWORK_POSTFIX '{if (FNR==INDEX) {print $1}}' $SCRIPT_PATH/$TEMPLATES_DIR$CURRENT_PATH/$CONST_DHCP_HOSTS_FILE_BASENAME`
21
`awk -F, -v INDEX=$CONST_COMPUTE_NODE_MODEL_CLUSTER_STATIC_NETWORK_POSTFIX '{if (FNR==INDEX) {print $1}}' $SCRIPT_PATH/$CONST_TEMPLATES_DIR$CURRENT_PATH/$CONST_DHCP_HOSTS_FILE_BASENAME`
22 22
#
23 23
#
24 24
# Create the Xen configuration file from a template
25 25
#
26 26
CURRENT_PATH=/etc/xen
27
cp templates$CURRENT_PATH/$CONST_COMPUTE_NODE_MODEL_XEN_TEMPLATE_NAME \
27
cp ${CONST_TEMPLATES_DIR}$CURRENT_PATH/$CONST_COMPUTE_NODE_MODEL_XEN_TEMPLATE_NAME \
28 28
   $CONST_XEN_CONFIG_DIR/$CURRENT_HOST_NAME.cfg
29 29
rpl -q Template Configuration $CONST_XEN_CONFIG_DIR/$CURRENT_HOST_NAME.cfg
30 30
rpl -q __COMPUTE_NODE_KERNEL__ "$COMPUTE_NODE_KERNEL" \
......
139 139
if [ ! -d ${COMPUTE_NODE_MODEL_FILE_SYSTEM_MOUNT_POINT}${CURRENT_PATH} ] ; then
140 140
  mkdir ${COMPUTE_NODE_MODEL_FILE_SYSTEM_MOUNT_POINT}${CURRENT_PATH}
141 141
fi
142
cp templates$CURRENT_PATH/$COMPUTE_NODE_MODEL_INTERFACES_TEMPLATE \
142
cp ${CONST_TEMPLATES_DIR}$CURRENT_PATH/$COMPUTE_NODE_MODEL_INTERFACES_TEMPLATE \
143 143
   $COMPUTE_NODE_MODEL_FILE_SYSTEM_MOUNT_POINT$CURRENT_PATH/interfaces
144 144
if [ $CLUSTER_EXTERNAL_ADDRESSES_BY_DHCP -eq 1 ] ; then
145 145
  ETH0_STANZA="iface eth0 inet dhcp"
......
194 194
  ${COMPUTE_NODE_MODEL_FILE_SYSTEM_MOUNT_POINT}${CURRENT_PATH}/hosts
195 195
# /etc/resolv.conf
196 196
CURRENT_PATH=/etc
197
cp $TEMPLATES_DIR$CURRENT_PATH/resolv.conf \
197
cp ${CONST_TEMPLATES_DIR}$CURRENT_PATH/resolv.conf \
198 198
   ${COMPUTE_NODE_MODEL_FILE_SYSTEM_MOUNT_POINT}${CURRENT_PATH}/resolv.conf
199 199
rpl -q __CLUSTER_DOMAIN_NAME__ "${CLUSTER_DOMAIN_NAME}." \
200 200
   ${COMPUTE_NODE_MODEL_FILE_SYSTEM_MOUNT_POINT}${CURRENT_PATH}/resolv.conf
......
204 204
# /etc/fstab
205 205
#
206 206
CURRENT_PATH=/etc
207
cp ${TEMPLATES_DIR}${CURRENT_PATH}/${COMPUTE_NODE_FSTAB_TEMPLATE} \
207
cp ${CONST_TEMPLATES_DIR}${CURRENT_PATH}/${COMPUTE_NODE_FSTAB_TEMPLATE} \
208 208
  ${COMPUTE_NODE_MODEL_FILE_SYSTEM_MOUNT_POINT}${CURRENT_PATH}/fstab
209 209
  # Compute-Node-Model System Disk Line
210 210
CNMSDL=${COMPUTE_NODE_MODEL_SYSTEM_VIRTUAL_VOLUME_DEVICE}
trunk/shell/templates/etc/network/interfaces.compute-node-model (revision 50)
1
# This file describes the network interfaces available on your system
2
# and how to activate them. For more information, see interfaces(5).
3
#
4
# Automatic start interfaces.
5
auto lo eth0 eth1
6
# The loopback network interface
7
iface lo inet loopback
8
#
9
# The primary network interface
10
__ETH0_STATIC_OR_DHCP__
11
__ETH0_STATIC_ADDRESS__
12
__ETH0_STATIC_NETMASK__
13
__ETH0_STATIC_NETWORK__
14
__ETH0_STATIC_GATEWAY__
15
__ETH0_STATIC_BROADCAST__
16
__ETH0_STATIC_NAMESERVERS__
17
__ETH0_STATIC_DNS_SEARCH__
18
#
19
iface eth1 inet static
20
 address __ETH1_STATIC_ADDRESS__
21
 netmask __ETH1_STATIC_NETMASK__
22
#
23
# post-up  ethtool -K eth0 tx off
24
#
25
# The commented out line above will disable TCP checksumming which
26
# might resolve problems for some users.  It is disabled by default
27
#
trunk/shell/templates/etc/network/interfaces.compute-node (revision 50)
9 9

  
10 10
iface eth0 inet static
11 11
 address __STATIC_ADDRESS__
12
 netmask 255.255.255.0
12
 netmask __STATIC_NETMASK__
13 13
#
14 14
# post-up  ethtool -K eth0 tx off
15 15
#
trunk/shell/templates/etc/xen/compute-node-model.cfg (revision 50)
21 21
# Disks.
22 22
disk        = [
23 23
                  __COMPUTE_NODE_MODEL_SYSTEM_DISK_STANZA__,
24
                  __FRONT_END_SWAP_DISK_STANZA__
24
                  __COMPUTE_NODE_MODEL_SWAP_DISK_STANZA__
25 25
              ]
26 26

  
27
__FRONT_END_NOSWAP__
27
__COMPUTE_NODE_MODEL_NOSWAP__
28 28
#
29 29
#  Physical volumes
30 30
#
......
33 33
#
34 34
#  Hostname
35 35
#
36
name        = '__FRONT_END_HOST_NAME__'
36
name        = '__COMPUTE_NODE_MODEL_HOST_NAME__'
37 37

  
38 38
#
39 39
#  Networking
trunk/shell/templates/etc/xen/compute-node.cfg (revision 50)
1 1
#
2
# Template file for the Xen instance compute-node.
2
# Template file for the Xen compute node model, created
3
# by xen-tools 4.2 on Mon Feb 28 17:41:00 2011.
3 4
#
4 5

  
5 6
#
......
8 9
kernel      = '__COMPUTE_NODE_KERNEL__'
9 10
ramdisk     = '__COMPUTE_NODE_RAMDISK__'
10 11

  
12
vcpus       = '__COMPUTE_NODE_VCPUS_NUM__'
13
cpus        = '__COMPUTE_NODE_CPUS__'
11 14
memory      = '__COMPUTE_NODE_MEMORY__'
12 15

  
13
# (V)CPU management
14

  
15
vcpus       = '__COMPUTE_NODE_VCPUS__'
16
cpus        = '__COMPUTE_NODE_CPUS__'
17

  
18 16
#
19
#  Disk device(s).
17
#  Disk device(s) and swap.
20 18
#
21
root        = '/dev/xvda2 ro'
19
# Root device.
20
__XEN_SYSTEM_DISK_ROOT_DEVICE_STANZA__
21
# Disks.
22 22
disk        = [
23
                  'phy:__COMPUTE_NODE_SYSTEM_DISK__,xvda2,w',
24
                  'phy:__COMPUTE_NODE_SWAP_DISK__,xvda1,w',
23
                  __COMPUTE_NODE_SYSTEM_DISK_STANZA__,
24
                  __COMPUTE_NODE_SWAP_DISK_STANZA__
25 25
              ]
26 26

  
27

  
27
__COMPUTE_NODE_NOSWAP__
28 28
#
29 29
#  Physical volumes
30 30
#
......
38 38
#
39 39
#  Networking
40 40
#
41
vif         = [ 'ip=__COMPUTE_NODE_IP__,mac=__COMPUTE_NODE_MAC__,bridge=__COMPUTE_NODE_BRIDGE__', ]
41
__XEN_DHCP_STANZA__
42 42

  
43
__VIF_STANZA__
43 44
#
44 45
#  Behaviour
45 46
#
......
47 48
on_reboot   = 'restart'
48 49
on_crash    = 'restart'
49 50

  
51
__EXTRA_STANZA__
50 52

  
51

  
trunk/shell/generate-dhcp-hostsfile (revision 50)
10 10
# Source the common configuration variables.
11 11
. $SCRIPT_PATH/c-i-a-b.common
12 12
# Clean up the file
13
DHCP_HOSTS_FILE="${SCRIPT_PATH}/${TEMPLATES_DIR}/etc/${CONST_DHCP_HOSTS_FILE_BASENAME}"
13
DHCP_HOSTS_FILE="${SCRIPT_PATH}/${CONST_TEMPLATES_DIR}/etc/${CONST_DHCP_HOSTS_FILE_BASENAME}"
14 14
rm -f $DHCP_HOSTS_FILE
15 15
# Compute the file entries.
16 16
for i in `seq 1 $COMPUTE_NODE_MAX_NUM`
trunk/shell/testawk (revision 50)
4 4
SCRIPT_PATH=`dirname $0`
5 5
. ./c-i-a-b.common
6 6
AWK_COMMAND="{if (FNR==$NODE_NUMBER) {print \$2}}"
7
awk -F, -v INDEX=$NODE_NUMBER  '{if (FNR==INDEX) {print $2}}' $SCRIPT_PATH/$TEMPLATES_DIR$CURRENT_PATH/$CONST_DHCP_HOSTS_FILE_BASENAME
7
awk -F, -v INDEX=$NODE_NUMBER  '{if (FNR==INDEX) {print $2}}' $SCRIPT_PATH/${CONST_TEMPLATES_DIR}$CURRENT_PATH/$CONST_DHCP_HOSTS_FILE_BASENAME

Formats disponibles : Unified diff