Пример #1
0
def get_jobs_by_node_ids():
    if mocking:
        jobs = mock('jobs.json')
    else:
        jobs = pyslurm.job().get()

    print "Post datas : %s" % request.data
    nodes = json.loads(request.data).get('nodes', [])
    print "Nodelist : %s" % nodes

    returned_jobs = {}

    # filter jobs by node
    for jobid, job in jobs.iteritems():
        nodes_list = job['cpus_allocated'].keys()
        print "Nodelist for %s : %s" % (jobid, nodes_list)

        for node_id in nodes:
            if node_id in nodes_list:
                returned_jobs[jobid] = job
                print "Node %s added to jobs : %s" % (node_id, returned_jobs)

    if not mocking:
        for jobid, job in returned_jobs.iteritems():
            fill_job_user(job)

    return returned_jobs
Пример #2
0
def get_jobs_by_node_ids():
    if mocking:
        jobs = mock('jobs.json')
    else:
        jobs = pyslurm.job().get()

    print "Post datas : %s" % request.data
    nodes = json.loads(request.data).get('nodes', [])
    print "Nodelist : %s" % nodes

    returned_jobs = {}

    # filter jobs by node
    for jobid, job in jobs.iteritems():
        nodes_list = job['cpus_allocated'].keys()
        print "Nodelist for %s : %s" % (jobid, nodes_list)

        for node_id in nodes:
            if node_id in nodes_list:
                returned_jobs[jobid] = job
                print "Node %s added to jobs : %s" % (node_id, returned_jobs)

    if not mocking:
        for jobid, job in returned_jobs.iteritems():
            fill_job_user(job)

    return returned_jobs
Пример #3
0
def get_topology():
    if mocking:
        return mock('topology.json')

    try:
        topology = pyslurm.topology().get()
    except Exception as e:
        topology = {'error': str(e)}
    return topology
Пример #4
0
def get_qos():
    if mocking:
        return mock('qos.json')

    try:
        qos = pyslurm.qos().get()
    except Exception as e:
        qos = {'error': str(e)}
    return qos
Пример #5
0
def get_qos():
    if mocking:
        return mock('qos.json')

    try:
        qos = pyslurm.qos().get()
    except Exception as e:
        qos = {'error': str(e)}
    return qos
Пример #6
0
def get_topology():
    if mocking:
        return mock('topology.json')

    try:
        topology = pyslurm.topology().get()
    except Exception as e:
        topology = {'error': str(e)}
    return topology
Пример #7
0
def get_jobs():
    if mocking:
        return mock('jobs.json')

    jobs = pyslurm.job().get()

    # add login and username (additionally to UID) for each job
    for jobid, job in jobs.iteritems():
        fill_job_user(job)

    return jobs
Пример #8
0
def get_jobs_by_qos():
    if mocking:
        jobs = mock('jobs.json')
        qos = mock('qos.json')
    else:
        jobs = pyslurm.job().get()
        qos = pyslurm.qos().get()

    returned_qos = {}

    for qos_id, q in qos.iteritems():
        returned_jobs = {}
        # filter jobs by node
        for jobid, job in jobs.iteritems():
            if qos_id == job['qos']:
                returned_jobs[jobid] = job

        returned_qos[qos_id] = returned_jobs

    return returned_qos
Пример #9
0
def get_jobs_by_qos():
    if mocking:
        jobs = mock('jobs.json')
        qos = mock('qos.json')
    else:
        jobs = pyslurm.job().get()
        qos = pyslurm.qos().get()

    returned_qos = {}

    for qos_id, q in qos.iteritems():
        returned_jobs = {}
        # filter jobs by node
        for jobid, job in jobs.iteritems():
            if qos_id == job['qos']:
                returned_jobs[jobid] = job

        returned_qos[qos_id] = returned_jobs

    return returned_qos
Пример #10
0
def get_jobs_by_nodes():
    if mocking:
        jobs = mock('jobs.json')
        nodes = mock('nodes.json')
    else:
        jobs = pyslurm.job().get()
        nodes = pyslurm.node().get()

    returned_nodes = {}

    for node_id, node in nodes.iteritems():
        returned_jobs = {}
        # filter jobs by node
        for jobid, job in jobs.iteritems():
            nodes_list = job['cpus_allocated'].keys()
            if node_id in nodes_list:
                returned_jobs[jobid] = job

        returned_nodes[node_id] = returned_jobs

    return returned_nodes
Пример #11
0
def get_cluster():
    if mocking:
        return mock('cluster.json')

    nodes = pyslurm.node().get()
    cluster = {}
    cluster['name'] = pyslurm.config().get()['cluster_name']
    cluster['nodes'] = len(nodes.keys())
    cluster['cores'] = 0
    for nodename, node in nodes.iteritems():
        cluster['cores'] += node['cpus']
    return cluster
Пример #12
0
def get_cluster():
    if mocking:
        return mock('cluster.json')

    nodes = pyslurm.node().get()
    cluster = {}
    cluster['name'] = pyslurm.config().get()['cluster_name']
    cluster['nodes'] = len(nodes.keys())
    cluster['cores'] = 0
    for nodename, node in nodes.iteritems():
        cluster['cores'] += node['cpus']
    return cluster
Пример #13
0
def get_jobs_by_nodes():
    if mocking:
        jobs = mock('jobs.json')
        nodes = mock('nodes.json')
    else:
        jobs = pyslurm.job().get()
        nodes = pyslurm.node().get()

    returned_nodes = {}

    for node_id, node in nodes.iteritems():
        returned_jobs = {}
        # filter jobs by node
        for jobid, job in jobs.iteritems():
            nodes_list = job['cpus_allocated'].keys()
            if node_id in nodes_list:
                returned_jobs[jobid] = job

        returned_nodes[node_id] = returned_jobs

    return returned_nodes
Пример #14
0
def get_jobs():
    if mocking:
        jobs = mock('jobs.json')
    else:
        jobs = pyslurm.job().get()

    for jobid, job in jobs.iteritems():
        # add login and username (additionally to UID) for each job
        try:
            fill_job_user(job)
        except (KeyError):
            pass

        # convert nodeset in array of nodes
        if job["nodes"] is not None:
            jobs[jobid]["nodeset"] = list(
                NodeSet(job["nodes"].encode('ascii', 'ignore'))
            )

    return jobs
Пример #15
0
def get_jobs_by_node_id(node_id):
    if mocking:
        jobs = mock('jobs.json')
    else:
        jobs = pyslurm.job().get()

    returned_jobs = {}

    # filter jobs by node
    for jobid, job in jobs.iteritems():
        nodes_list = job['cpus_allocated'].keys()
        print "Nodelist for %s : %s" % (node_id, nodes_list)
        if node_id in nodes_list:
            returned_jobs[jobid] = job
            print "Node %s added to jobs : %s" % (node_id, returned_jobs)

    if not mocking:
        for jobid, job in returned_jobs.iteritems():
            fill_job_user(job)

    return returned_jobs
Пример #16
0
def get_jobs_by_node_id(node_id):
    if mocking:
        jobs = mock('jobs.json')
    else:
        jobs = pyslurm.job().get()

    returned_jobs = {}

    # filter jobs by node
    for jobid, job in jobs.iteritems():
        nodes_list = job['cpus_allocated'].keys()
        print "Nodelist for %s : %s" % (node_id, nodes_list)
        if node_id in nodes_list:
            returned_jobs[jobid] = job
            print "Node %s added to jobs : %s" % (node_id, returned_jobs)

    if not mocking:
        for jobid, job in returned_jobs.iteritems():
            fill_job_user(job)

    return returned_jobs
Пример #17
0
def get_reservations():
    if mocking:
        return mock('reservations.json')

    reservations = pyslurm.reservation().get()
    return reservations
Пример #18
0
def get_partitions():
    if mocking:
        return mock('partitions.json')

    partitions = pyslurm.partition().get()
    return partitions
Пример #19
0
def get_partitions():
    if mocking:
        return mock('partitions.json')

    partitions = pyslurm.partition().get()
    return partitions
Пример #20
0
def get_reservations():
    if mocking:
        return mock('reservations.json')

    reservations = pyslurm.reservation().get()
    return reservations
Пример #21
0
def get_nodes():
    if mocking:
        return mock('nodes.json')

    nodes = pyslurm.node().get()
    return nodes
Пример #22
0
def get_nodes():
    if mocking:
        return mock('nodes.json')

    nodes = pyslurm.node().get()
    return nodes