Example #1
0
    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
Example #2
0
    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
Example #3
0
 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
Example #4
0
 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
Example #5
0
    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
Example #6
0
    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