def get_jobs(self, job_specs): if len(job_specs) == 0: return # get hooks f thook = testutils.get_testhook() job_running = True if thook.find("JOB_RUNNING") != -1 else False logmsg("\nGET_JOBS\n") logdiclist(job_specs) _job_specs = [] wtime = 5 nodes = 512 jobid = 100 ndx = 1 for job in job_specs: if type(job['jobid']) != type(1): j = jobid jobid += 1 else: j = job['jobid'] if job_running: state = 'running' elif 'state' in job: state = job['state'] else: state = 'user_hold' _job = {} _job['tag'] = 'job' _job['user'] = USERS[ndx] _job['state'] = state _job['jobid'] = j _job['project'] = 'my_project' _job['notify'] = '*****@*****.**' _job['walltime'] = str(wtime) _job['procs'] = str(nodes) _job['nodes'] = str(nodes) _job['is_active'] = True if job_running else False _job['queue'] = QUEUES[ndx] _job['mode'] = 'smp' _job['errorpath'] = '/tmp' _job['errorpath'] = '/tmp' _job['outputpath'] = '/tmp' _job['user_hold'] = False _job['has_completed'] = False _job['location'] = '/tmp' _job['submittime'] = str(60) _job['envs'] = {} _job['args'] = '' _job['user_list'] = [u for u in USERS] _job['geometry'] = None _job['resid'] = None _job['score'] = SCORES[ndx] ndx += 1 _job_specs.append(_job) wtime += 5 nodes += 512 enable_logwrite() return _job_specs
def get_jobs(self,job_specs): if len(job_specs) == 0: return # get hooks f thook = testutils.get_testhook() job_running = True if thook.find("JOB_RUNNING") != -1 else False logmsg("\nGET_JOBS\n") logdiclist(job_specs) _job_specs = [] wtime = 5 nodes = 512 jobid = 100 ndx = 1 for job in job_specs: if type(job['jobid']) != type(1): j = jobid jobid += 1 else: j = job['jobid'] if job_running: state = 'running' elif 'state' in job: state = job['state'] else: state = 'user_hold' _job = {} _job['tag'] = 'job' _job['user'] = USERS[ndx] _job['state'] = state _job['jobid'] = j _job['project'] = 'my_project' _job['notify'] = '*****@*****.**' _job['walltime'] = str(wtime) _job['procs'] = str(nodes) _job['nodes'] = str(nodes) _job['is_active'] = True if job_running else False _job['queue'] = QUEUES[ndx] _job['mode'] = 'smp' _job['errorpath'] = '/tmp' _job['errorpath'] = '/tmp' _job['outputpath'] = '/tmp' _job['user_hold'] = False _job['has_completed'] = False _job['location'] = '/tmp' _job['submittime'] = str(60) _job['envs'] = {} _job['args'] = '' _job['user_list'] = [u for u in USERS] _job['geometry'] = None _job['resid'] = None _job['score'] = SCORES[ndx] ndx += 1 _job_specs.append(_job) wtime += 5 nodes += 512 enable_logwrite() return _job_specs
def get_services(self,query): logmsg("\nGET_SERVICES\n") logdiclist(query) thook = testutils.get_testhook() if thook.find("NO SERVICES") != -1: return [] services = [] for i in range(5): services.append({'name':'S'+str(i), 'location':'P'+str(i),'stamp':1366668370.0+(i*10)}) return services
def get_reservations(self,query): logmsg("\nGET_RESERVATIONS\n") logdiclist(query) res_list = [] # get hooks f thook = testutils.get_testhook() ct = 300 d = 500 st = 1000000 if thook.find("BOGUS USER") != -1: u = 'bogususer' else: u = 'gooduser' for res in query: if 'name' in res: if thook.find("NO CYCLE") != -1: _res = {'queue':QUEUES[0],'name':res['name'],'cycle':None,'duration':d,'start':st,'active':True, 'partitions':':'.join(PARTS),'block_passthrough':True,'cycle_id':10,'users':u, 'project':'proj','res_id':'id'} else: _res = {'queue':QUEUES[0],'name':res['name'],'cycle':ct,'duration':d,'start':st,'active':True, 'partitions':':'.join(PARTS),'block_passthrough':True,'cycle_id':10,'users':u, 'project':'proj','res_id':'id'} res_list.append(_res) else: for q in QUEUES: ct += 300 d += 500 st += 1000000 res_list.append({'queue':q,'name':q,'cycle':ct,'duration':d,'start':st,'active':True, 'partitions':':'.join(PARTS),'block_passthrough':True,'project':'proj','res_id':'id'}) return res_list