Exemplo n.º 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
Exemplo n.º 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
Exemplo n.º 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
Exemplo n.º 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
Exemplo n.º 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
Exemplo n.º 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
Exemplo n.º 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
Exemplo n.º 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
Exemplo n.º 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
Exemplo n.º 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
Exemplo n.º 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
Exemplo n.º 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
Exemplo n.º 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
Exemplo n.º 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
Exemplo n.º 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
Exemplo n.º 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
Exemplo n.º 17
0
def get_reservations():
    if mocking:
        return mock('reservations.json')

    reservations = pyslurm.reservation().get()
    return reservations
Exemplo n.º 18
0
def get_partitions():
    if mocking:
        return mock('partitions.json')

    partitions = pyslurm.partition().get()
    return partitions
Exemplo n.º 19
0
def get_partitions():
    if mocking:
        return mock('partitions.json')

    partitions = pyslurm.partition().get()
    return partitions
Exemplo n.º 20
0
def get_reservations():
    if mocking:
        return mock('reservations.json')

    reservations = pyslurm.reservation().get()
    return reservations
Exemplo n.º 21
0
def get_nodes():
    if mocking:
        return mock('nodes.json')

    nodes = pyslurm.node().get()
    return nodes
Exemplo n.º 22
0
def get_nodes():
    if mocking:
        return mock('nodes.json')

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