retry download of stage2 iniscript if DNS is not up yet
[mpi-image.git] / scripts / generate-hostfile.py
1 #!/usr/bin/python
2
3 from optparse import OptionParser
4 import sys
5
6 parser = OptionParser()
7 parser.add_option('-f', '--sourcefile', dest = "sourcefile", default = "hostfile", help='specifies the list of hosts, one per line (default: "hostfile")')
8 parser.add_option('-d', '--destfile', dest = "destfile", default = "hostfile-new", help='specifies the output host file (default: "hostfile-new")')
9 parser.add_option('-c', '--requestedcores', dest = "requestedcores", default = 1, help='number of cores to use (default: 1)')
10 parser.add_option('-n', '--corespernode', dest = "corespernode", default = 1, help='number of cores per node (default: 1)')
11 (options, args) = parser.parse_args()
12
13 sourceFile = options.sourcefile
14 destFile = options.destfile
15 numRequestedCores = int(options.requestedcores)
16 coresPerNode = int(options.corespernode)
17
18 source = open(sourceFile, "r")
19 dest = open(destFile, "w")
20
21 numSockets = 2
22 coresPerSocket = coresPerNode/numSockets
23
24 print "Generating hostfile using the following parameters:"
25 print ""
26 print "Input host file:", sourceFile
27 print "Destination host file:", destFile
28 print "Cores per node:", coresPerNode
29 print "Cores requested per node:", numRequestedCores
30
31 wholeSource = source.readlines()
32 for i in wholeSource:
33   s = str(i).strip("\n") + " numslots=" + str(numRequestedCores)
34   dest.write(s.strip(",")+"\n")