print>>sys.stderr, "\r\n \r\n AddSliceToNodes wrapper returns %s " %(output)
return
-
- #def AddSliceToNodes(self, slice_name, added_nodes, slice_user=None):
-
- #site_list = []
- #nodeid_list =[]
- #resource = ""
- #reqdict = {}
- #reqdict['property'] ="network_address in ("
- #for node in added_nodes:
- ##Get the ID of the node : remove the root auth and put the site in a separate list
- #s=node.split(".")
- ## NT: it's not clear for me if the nodenames will have the senslab prefix
- ## so lets take the last part only, for now.
- #lastpart=s[-1]
- ##if s[0] == self.root_auth :
- ## Again here it's not clear if nodes will be prefixed with <site>_, lets split and tanke the last part for now.
- #s=lastpart.split("_")
- #nodeid=s[-1]
- #reqdict['property'] += "'"+ nodeid +"', "
- #nodeid_list.append(nodeid)
- ##site_list.append( l[0] )
- #reqdict['property'] = reqdict['property'][0: len( reqdict['property'])-2] +")"
- #reqdict['resource'] ="network_address="+ str(len(nodeid_list))
- #reqdict['resource']+= ",walltime=" + str(00) + ":" + str(12) + ":" + str(20) #+2 min 20
- #reqdict['script_path'] = "/bin/sleep 620" #+20 sec
- #reqdict['type'] = "deploy"
- #reqdict['directory']= ""
- #reqdict['name']= "TestSandrine"
- ## reservations are performed in the oar server timebase, so :
- ## 1- we get the server time(in UTC tz )/server timezone
- ## 2- convert the server UTC time in its timezone
- ## 3- add a custom delay to this time
- ## 4- convert this time to a readable form and it for the reservation request.
- #server_timestamp,server_tz = self.GetTimezone()
- #s_tz=tz.gettz(server_tz)
- #UTC_zone = tz.gettz("UTC")
- ##weird... datetime.fromtimestamp should work since we do from datetime import datetime
- #utc_server= datetime.datetime.fromtimestamp(float(server_timestamp)+20,UTC_zone)
- #server_localtime=utc_server.astimezone(s_tz)
-
- #print>>sys.stderr, "\r\n \r\n \t\tAddSliceToNodes server_timestamp %s server_tz %s slice_name %s added_nodes %s username %s reqdict %s " %(server_timestamp,server_tz,slice_name,added_nodes,slice_user, reqdict )
- #readable_time = server_localtime.strftime(self.time_format)
-
- #print >>sys.stderr," \r\n \r\n \t\t\t\tAPRES ParseTimezone readable_time %s timestanp %s " %(readable_time ,server_timestamp)
- #reqdict['reservation'] = readable_time
-
- ## first step : start the OAR job and update the job
- #print>>sys.stderr, "\r\n \r\n AddSliceToNodes reqdict %s \r\n site_list %s" %(reqdict,site_list)
-
- #answer = self.oar.POSTRequestToOARRestAPI('POST_job',reqdict,slice_user)
- #print>>sys.stderr, "\r\n \r\n AddSliceToNodes jobid %s " %(answer)
- #try:
- #jobid = answer['id']
- #except KeyError:
- #print>>sys.stderr, "\r\n AddSliceTonode Impossible to create job %s " %( answer)
- #return
-
- #print>>sys.stderr, "\r\n \r\n AddSliceToNodes jobid %s added_nodes %s slice_user %s" %(jobid,added_nodes,slice_user)
- #self.db.update_job( slice_name, jobid ,added_nodes)
-
-
- ## second step : configure the experiment
- ## we need to store the nodes in a yaml (well...) file like this :
- ## [1,56,23,14,45,75] with name /tmp/sfa<jobid>.json
- #f=open('/tmp/sfa/'+str(jobid)+'.json','w')
- #f.write('[')
- #f.write(str(added_nodes[0].strip('node')))
- #for node in added_nodes[1:len(added_nodes)] :
- #f.write(','+node.strip('node'))
- #f.write(']')
- #f.close()
-
- ## third step : call the senslab-experiment wrapper
- ##command= "java -jar target/sfa-1.0-jar-with-dependencies.jar "+str(jobid)+" "+slice_user
- #javacmdline="/usr/bin/java"
- #jarname="/opt/senslabexperimentwrapper/sfa-1.0-jar-with-dependencies.jar"
- ##ret=subprocess.check_output(["/usr/bin/java", "-jar", ", str(jobid), slice_user])
- #output = subprocess.Popen([javacmdline, "-jar", jarname, str(jobid), slice_user],stdout=subprocess.PIPE).communicate()[0]
-
- #print>>sys.stderr, "\r\n \r\n AddSliceToNodes wrapper returns %s " %(output)
- #return
-
-
-
+
#Delete the jobs and updates the job id in the senslab table
#to set it to -1
#Does not clear the node list