Révision 4

trunk/python/ciab_common_vars.pyc (revision 4)
1
??
2
9hwNc@s+hdd6dd6dd6dd6dd	6d
3
d6dd
+6dd6dd6dd6dd6dd6dd6dd6dd6dd6d d!6d"d#6d$d%6d&d'6d(d)6dd*6d+d,6d-d.6d/d06d1d26d&d36d4d56d6d76d8d96Zeded:<eded;<ed3d<ed=<d>?Zed?joe?nd@S(Asciab.lip.ens-lyon.frtCLUSTER_DOMAIN_NAMEs	192.168.1tCLUSTER_STATIC_NETWORK_PREFIXtinternaltCOMPUTE_NODE_BRIDGEscompute-nodes-cpustCOMPUTE_NODE_CPUS_FILEs/mnt/compute-node-system-disktCOMPUTE_NODE_DISK_MOUNT_POINTs/boot/vmlinuz-`uname -r`tCOMPUTE_NODE_KERNELs/boot/initrd.img-`uname -r`tCOMPUTE_NODE_RAMDISKs00:16:3E:0F:6AtCOMPUTE_NODE_MAC_ADDRESS_PREFIXt250tCOMPUTE_NODE_MAX_NUMt3072tCOMPUTE_NODE_MEMORYt252t)COMPUTE_NODE_MODEL_STATIC_NETWORK_POSTFIXscompute-node-modeltCOMPUTE_NODE_MODEL_NAMEs
+compute-node-tCOMPUTE_NODE_NAME_PREFIXt3tCOMPUTE_NODE_NUMt2tCOMPUTE_NODE_VCPUSsdhcp-hostsfiletDHCP_HOSTSFILE_BASENAMEt251t FRONT_END_STATIC_NETWORK_POSTFIXtfrontendtFRONT_END_NAMEthoststHOSTS_FILE_BASENAMEs/dev/vg_gueststSWAP_DISK_LOGICAL_VOLUMEs-swaptSWAP_DISK_POSTFIXtSWAP_DISK_PREFIXt1GtSWAP_DISK_SIZEs-disktSYSTEM_DISK_CLONE_POSTFIXt20GtSYSTEM_DISK_CLONE_SIZEtext3tSYSTEM_DISK_FILE_SYSTEMtSYSTEM_DISK_LOGICAL_VOLUMEt	templatest
+TEMPLATES_DIRsusers-home-disktUSERS_HOME_DISKt40GtUSERS_HOME_DISK_SIZEt"COMPUTE_NODE_STATIC_NETWORK_PREFIXtSYSTEM_DISK_CLONE_PREFIXs/compute-node-model-disktSYSTEM_DISK_MASTERcCs2x+tti??D]}|GdGt|GHqWdS(Ns = (tsortedtcommonVariablestkeys(tkey((s1/root/cluster-in-a-box/python/ciab_common_vars.pytmain,st__main__N(R0R3t__name__(((s1/root/cluster-in-a-box/python/ciab_common_vars.pyt<module>sJ
4
	
+
trunk/python/ciab_user_functions.py (revision 4)
1
import csv
2
import re
3
import string
4

  
5
# Read common variables
6
def read_common_variables(cvsFileName):
7
  commonVariables = {}
8
  commonVariablesFile=open(cvsFileName, "rb")
9
  fileDialect = csv.Sniffer().sniff(commonVariablesFile.read(1024))
10
#  fileDialect.skipinitialspace = True
11
  commonVariablesFile.seek(0)
12
  reader = csv.reader(commonVariablesFile, dialect=fileDialect)
13
  continuation = 1
14
  while (continuation):
15
    try:
16
      entry = reader.next()
17
      if  len(entry) >= 2:
18
        entry[0] = string.strip(entry[0])
19
      	commonVariables[entry[0]] = string.strip(entry[1])
20
      	print entry
21
    except StopIteration:
22
      continuation = 0
23
      commonVariablesFile.close()
24
  return commonVariables
trunk/python/ciab_user_functions.pyc (revision 4)
1
??
2
?QwNc@s1ddkZddkZddkZd?ZdS(i????NcCs?h}t|d?}ti?i|id??}|id?ti|d|?}d}x?|o?y^|i?}t|?djo;t	i
3
|d?|d<t	i
4
|d?||d<|GHnWq^tj
5
od}|i?q^Xq^W|S(Ntrbiitdialectii(
+topentcsvtSniffertsnifftreadtseektreadertnexttlentstringtstript
+StopIterationtclose(tcvsFileNametcommonVariablestcommonVariablesFiletfileDialectRtcontinuationtentry((s4/root/cluster-in-a-box/python/ciab_user_functions.pytread_common_variabless$
+
+(RtreRR(((s4/root/cluster-in-a-box/python/ciab_user_functions.pyt<module>s
trunk/python/ciab-common-vars.csv (revision 4)
1
CLUSTER_DOMAIN_NAME,				ciab.lip.ens-lyon.fr
2
CLUSTER_STATIC_NETWORK_PREFIX,			192.168.1
3
COMPUTE_NODE_BRIDGE,				internal
4
COMPUTE_NODE_CPUS_FILE,				compute-nodes-cpus
5
COMPUTE_NODE_DISK_MOUNT_POINT,			/mnt/compute-node-system-disk
6
COMPUTE_NODE_KERNEL,				/boot/vmlinuz-`uname -r`
7
COMPUTE_NODE_RAMDISK,				/boot/initrd.img-`uname -r`
8
COMPUTE_NODE_MAC_ADDRESS_PREFIX,		00:16:3E:0F:6A
9
COMPUTE_NODE_MAX_NUM,				250
10
COMPUTE_NODE_MEMORY,				3072
11
COMPUTE_NODE_MODEL_STATIC_NETWORK_POSTFIX,	252
12
COMPUTE_NODE_MODEL_NAME,			compute-node-model
13
COMPUTE_NODE_NAME_PREFIX,			compute-node-
14
COMPUTE_NODE_NUM,				3
15
COMPUTE_NODE_VCPUS,				2
16
DHCP_HOSTSFILE_BASENAME,			dhcp-hostsfile
17
FRONT_END_STATIC_NETWORK_POSTFIX,		251
18
FRONT_END_NAME,					frontend
19
HOSTS_FILE_BASENAME,				hosts
20
SWAP_DISK_LOGICAL_VOLUME,			/dev/vg_guests
21
SWAP_DISK_POSTFIX,				-swap
22
SWAP_DISK_PREFIX,				compute-node-
23
SWAP_DISK_SIZE,					1G
24
SYSTEM_DISK_CLONE_POSTFIX,			-disk
25
SYSTEM_DISK_CLONE_SIZE,				20G
26
SYSTEM_DISK_FILE_SYSTEM,			ext3
27
SYSTEM_DISK_LOGICAL_VOLUME,			/dev/vg_guests
28
TEMPLATES_DIR,					templates
29
USERS_HOME_DISK,				users-home-disk
30
USERS_HOME_DISK_SIZE				40G
31

  
trunk/python/create-compute-node.py (revision 4)
1
#! /usr/bin/python
2
#
3
#
4
# Define a main function to allow for function declaration in any order.
5
def main():
6
  # System modules
7
  import sys
8
  # Local modules (must live in the same directory).
9
  import ciab_user_functions as cuf
10
  from ciab_common_vars import (commonVariables)
11
  #
12
  # Variables
13
  nodeNumberString = ''
14
  
15
  # Yep, the comma is correct: it's a list of variables!
16
  nodeNumberString, = usage(sys.argv)
17
  print commonVariables.keys()
18
  print commonVariables.values()
19
  print nodeNumberString
20
# End main
21

  
22
def usage(arguments):
23
  import sys
24
  if (len(arguments) < 2):
25
    print
26
    print
27
    print 'Missing parameter. Aborting'
28
    print
29
    print 'Usage: ' + arguments[0] + ' node_number'
30
    print
31
    print
32
    sys.exit(1)
33
  nodeNumberString = arguments[1]
34
  # Yep, the comma is correct: it's a list of variables!
35
  return nodeNumberString,
36
  
37
if __name__ == "__main__":
38
  main()
0 39

  
trunk/python/ciab_common_vars.py (revision 4)
1
# Common configuration variables
2
#
3
commonVariables = {
4

  
5
'CLUSTER_DOMAIN_NAME'				:'ciab.lip.ens-lyon.fr',
6
'CLUSTER_STATIC_NETWORK_PREFIX'			:'192.168.1',
7
'COMPUTE_NODE_BRIDGE'				:'internal',
8
'COMPUTE_NODE_CPUS_FILE'			:'compute-nodes-cpus',
9
'COMPUTE_NODE_DISK_MOUNT_POINT'			:'/mnt/compute-node-system-disk',
10
'COMPUTE_NODE_KERNEL'				:'/boot/vmlinuz-`uname -r`',
11
'COMPUTE_NODE_RAMDISK'				:'/boot/initrd.img-`uname -r`',
12
'COMPUTE_NODE_MAC_ADDRESS_PREFIX'		:'00:16:3E:0F:6A',
13
'COMPUTE_NODE_MAX_NUM'				:'250',
14
'COMPUTE_NODE_MEMORY'				:'3072',
15
'COMPUTE_NODE_MODEL_STATIC_NETWORK_POSTFIX'	:'252',
16
'COMPUTE_NODE_MODEL_NAME'			:'compute-node-model',
17
'COMPUTE_NODE_NAME_PREFIX'			:'compute-node-',
18
'COMPUTE_NODE_NUM'				:'3',
19
'COMPUTE_NODE_VCPUS'				:'2',
20
'DHCP_HOSTSFILE_BASENAME'			:'dhcp-hostsfile',
21
'FRONT_END_STATIC_NETWORK_POSTFIX'		:'251',
22
'FRONT_END_NAME'				:'frontend',
23
'HOSTS_FILE_BASENAME'				:'hosts',
24
'SWAP_DISK_LOGICAL_VOLUME'			:'/dev/vg_guests',
25
'SWAP_DISK_POSTFIX'				:'-swap',
26
'SWAP_DISK_PREFIX'				:'compute-node-',
27
'SWAP_DISK_SIZE'				:'1G',
28
'SYSTEM_DISK_CLONE_POSTFIX'			:'-disk',
29
'SYSTEM_DISK_CLONE_SIZE'			:'20G', # Half of the master size.
30
'SYSTEM_DISK_FILE_SYSTEM'			:'ext3',
31
'SYSTEM_DISK_LOGICAL_VOLUME'			:'/dev/vg_guests',
32
'TEMPLATES_DIR'					:'templates',
33
'USERS_HOME_DISK'				:'users-home-disk',
34
'USERS_HOME_DISK_SIZE'				:'40G',
35
}
36
commonVariables['COMPUTE_NODE_STATIC_NETWORK_PREFIX'] = \
37
		commonVariables['CLUSTER_STATIC_NETWORK_PREFIX']
38
commonVariables['SYSTEM_DISK_CLONE_PREFIX'] = \
39
		commonVariables['COMPUTE_NODE_NAME_PREFIX']
40
commonVariables['SYSTEM_DISK_MASTER'] = \
41
		commonVariables['SYSTEM_DISK_LOGICAL_VOLUME'] + \
42
		'/compute-node-model-disk'
43

  
44
def main():
45
  for key in sorted(commonVariables.keys()):
46
    print key, ' = ', commonVariables[key]
47

  
48
if __name__ == "__main__":
49
  main()
trunk/python/test-db.py (revision 4)
1
import txtdb

Formats disponibles : Unified diff