gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r25745 - gnunet-planetlab/gplmt/scripts


From: gnunet
Subject: [GNUnet-SVN] r25745 - gnunet-planetlab/gplmt/scripts
Date: Thu, 10 Jan 2013 14:17:47 +0100

Author: wachs
Date: 2013-01-10 14:17:47 +0100 (Thu, 10 Jan 2013)
New Revision: 25745

Removed:
   gnunet-planetlab/gplmt/scripts/create_buildbot_configuration.py
Log:
integrated with gplmt-api


Deleted: gnunet-planetlab/gplmt/scripts/create_buildbot_configuration.py
===================================================================
--- gnunet-planetlab/gplmt/scripts/create_buildbot_configuration.py     
2013-01-10 13:17:19 UTC (rev 25744)
+++ gnunet-planetlab/gplmt/scripts/create_buildbot_configuration.py     
2013-01-10 13:17:47 UTC (rev 25745)
@@ -1,206 +0,0 @@
-#!env python
-import getopt, sys, xmlrpclib, random
-
-
-def usage():
-    print "GNUnet PlanetLab deployment and automation toolset\n\
-    Create buildmaster configuration file and buildslave setup commands\n\
-Arguments mandatory for long options are also mandatory for short options.\n\
-  -u, --user=      Planetlab username\n\
-  -p, --password=  Planetlab password\n\
-  -s, --slice=     Planetlab slice\n\
-  -f, --file=      file containing nodes\n\
-  -c, --cmd_file=  command file for gplmt\n\
-  -t, --template=  buildmaster configuration template\n\
-  -m, --master=    buildbot server\n\
-  -n, --force_user=  buildmaster force build username\n\
-  -b, --force_pwd=    buildbot force build password\n\
-  -h, --help       print this help\n\
-Report bugs to address@hidden \n\
-GNUnet home page: http://www.gnu.org/software/gnunet/ \n\
-General help using GNU software: http://www.gnu.org/gethelp/";
-
-
-user = None
-password = None
-plslice = None
-filename = None
-master = None
-template_file = None
-out_cmd_file = "cmdfile"
-out_cfg_file = "master.cfg"
-buildslave_cmd = "buildslave create-slave ./bot "
-master_cfg_force_user = None
-master_cfg_force_pwd = None
-
-try:
-    opts, args = getopt.getopt(sys.argv[1:], "hu:p:s:f:c:m:t:o:n:b:", ["help", 
"user=", "password=", "slice=", "file=", "cmd_file", "master", "template", 
"cfg_output","force_user","force_pwd"])
-except getopt.GetoptError, err:
-    # print help information and exit:
-    print str(err) # will print something like "option -a not recognized"
-    usage()
-    sys.exit(2)
-for o, a in opts:
-    if o in ("-h", "--help"):
-        usage()
-        sys.exit()
-    elif o in ("-u", "--user"):
-        user = a
-    elif o in ("-p", "--password"):
-        password = a
-    elif o in ("-s", "--slice"):
-        plslice = a                                                 
-    elif o in ("-f", "--file"):
-        filename = a           
-    elif o in ("-c", "--cmd_file"):
-        out_cmd_file = a
-    elif o in ("-m", "--master"):
-        master = a
-    elif o in ("-o", "--cfg_output"):
-        out_cfg_file = a        
-    elif o in ("-t", "--template"):
-        template_file = a
-    elif o in ("-n", "--force_user"):
-        master_cfg_force_user = a        
-    elif o in ("-b", "--force_pwd"):
-        master_cfg_force_pwd = a                          
-    else:
-        assert False, "unhandled option"
-
-if (((user == None) or (password == None) or (slice == None)) and
-    (filename == None)):
-    usage()
-    sys.exit(2)
-    
-if (master == None):
-    print "No buildmaster server given!"
-    usage()
-    sys.exit(2)    
-
-if (template_file == None):
-    print "No buildbot configuration template given!"
-    usage()
-    sys.exit(2)
-if (master_cfg_force_user == None):
-    print "No buildbot user given!"
-    usage()
-    sys.exit(2)
-    
-if (master_cfg_force_pwd == None):
-    print "No buildbot password given!"
-    usage()
-    sys.exit(2)        
-        
-# PlanetLab Europe
-api_url = "https://www.planet-lab.eu/PLCAPI/";
-# Planetlab Central
-#api_url = https://www.planet-lab.org/PLCAPI/
-
-server = xmlrpclib.ServerProxy(api_url)
-
-# the auth struct
-auth = {}
-auth['Username'] = user
-auth['AuthString'] = password
-auth['AuthMethod'] = "password"
-
-slice_data = {}
-slice_data['name'] = plslice
-
-node_hostnames = []
-
-# request nodes assigned to slice
-if ((user != None) and (password != None) and (plslice != None) and (filename 
== None)):
-    try:
-        node_ids = server.GetSlices(auth, [slice_data['name']], 
['node_ids'])[0]['node_ids']
-        node_hostnames = [node['hostname'] for node in server.GetNodes(auth, 
node_ids, ['hostname'])]
-    except Exception as e:
-        print "Error while retrieving node list: " + str(e) 
-        sys.exit (2)
-elif (filename != None):
-    try:
-        f = open (filename, 'r')
-    except IOError as e:
-        print "Could not open: " + str(e) 
-        sys.exit (2)        
-    for line in f:
-        node_hostnames.append(line)        
-    f.close()
-else: 
-    print "No node file or PlanetLab credentials given"
-    sys.exit (2)
-    
-# Writing files
-template = {}
-master_cfg_slaves = ""
-master_cfg_builder_definition = ""
-master_cfg_builder_summary = ""
-master_cfg_scheduler_builders = ""
-slave_cmds = ""
-c = 0
-
-try:
-    f_cmd = open(out_cmd_file, 'w')
-except IOError as e:
-    print "Cannot open output command file "+ out_cmd_file +": "+str(e)
-    sys.exit (2)
-    
-for node in node_hostnames:
-    node = node.strip()
-    print "Found node '" + node + "'" 
-    password = 
''.join([random.choice('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890')
 for i in range(64)])
-    # slaves
-    master_cfg_slaves += 'BuildSlave("'+node+'","'+password+'"),\n'
-    # builder definition
-    master_cfg_builder_definition += "builder"+str(c)+" = {'name': \"" + node 
+"\"," +  "'slavename': \"" + node + "\",'builddir':\"" + node +"\",'factory': 
f,'category': \"GNUnet\",}\n"
-    # scheduler
-    master_cfg_scheduler_builders += '"'+node+'", '
-    # builder summary
-    master_cfg_builder_summary += "builder"+str(c)+", "
-    # cmd
-    f_cmd.writelines (node +";" + buildslave_cmd + " " + master + " " + node + 
" "+ password + "\n")
-    c += 1
-
-try:
-    f_cmd.close()
-except IOError as e:
-    print "Cannot close output command file "+ out_cmd_file +": "+str(e)
-    sys.exit (2)
-
-print master_cfg_slaves
-print master_cfg_builder_definition
-print master_cfg_builder_summary
-
-master_file = ""
-
-# Create master.cfg
-try:
-    f_tmpl = open(template_file, 'r')
-except IOError as e:
-    print "Cannot open template file "+ template_file +": "+str(e)
-    sys.exit (2)
-
-for line in f_tmpl:
-    line.strip()
-    line = line.replace ("%GPLMT_BUILDER_DEFINITION",  
master_cfg_builder_definition)
-    line = line.replace ("%GPLMT_BUILDER_SUMMARY",  master_cfg_builder_summary)
-    line = line.replace ("%GPLMT_SLAVES",  master_cfg_slaves)
-    line = line.replace ("%GPLMT_SCHEDULER_BUILDERS",  
master_cfg_scheduler_builders)
-    line = line.replace ("%GPLMT_FORCE_USER",  master_cfg_force_user)
-    line = line.replace ("%GPLMT_FORCE_PWD",  master_cfg_force_pwd)    
-    master_file += line
-    
-f_tmpl.close()    
-        
-try:
-    f_cfg = open(out_cfg_file, 'w')
-except IOError as e:
-    print "Cannot open template file "+ template_file +": "+str(e)
-    sys.exit (2)    
-
-f_cfg.writelines(master_file)
-f_cfg.close()  
-    
-    
-
-       




reply via email to

[Prev in Thread] Current Thread [Next in Thread]