예제 #1
0
def get_reserved_resources(role=None):
    """ resource types from state summary include: reserved_resources

    :param role: the name of the role if for reserved and if None all reserved
    :type role: str

    :return: resources(cpu,mem)
    :rtype: Resources
    """
    rtype = 'reserved_resources'
    cpus = 0.0
    mem = 0.0
    summary = DCOSClient().get_state_summary()

    if 'slaves' in summary:
        agents = summary.get('slaves')
        for agent in agents:
            resource_reservations = agent.get(rtype)
            reservations = []
            if role is None or '*' in role:
                reservations = resource_reservations.values()
            elif role in resource_reservations:
                reservations = [resource_reservations.get(role)]
            for reservation in reservations:
                if reservation.get('cpus') is not None:
                    cpus += reservation.get('cpus')
                if reservation.get('mem') is not None:
                    mem += reservation.get('mem')

    return Resources(cpus, mem)
예제 #2
0
def _get_resources(rtype='resources'):
    """ resource types from state summary include:  resources, used_resources
    offered_resources, reserved_resources, unreserved_resources
    The default is resources.

    :param rtype: the type of resources to return
    :type rtype: str
    :param role: the name of the role if for reserved and if None all reserved
    :type rtype: str

    :return: resources(cpu,mem)
    :rtype: Resources
    """
    cpus = 0
    mem = 0
    summary = DCOSClient().get_state_summary()

    if 'slaves' in summary:
        agents = summary.get('slaves')
        for agent in agents:
            if agent[rtype].get('cpus') is not None:
                cpus += agent[rtype].get('cpus')
            if agent[rtype].get('mem') is not None:
                mem += agent[rtype].get('mem')

    return Resources(cpus, mem)
예제 #3
0
파일: common.py 프로젝트: vixns/marathon
def get_resources(rtype='resources'):
    """ resource types from summary include:  resources, used_resources
    offered_resources, reserved_resources, unreserved_resources
    This current returns resources
    """
    cpus = 0
    mem = 0
    summary = DCOSClient().get_state_summary()

    if 'slaves' in summary:
        agents = summary.get('slaves')
        for agent in agents:
            cpus += agent[rtype]['cpus']
            mem += agent[rtype]['mem']

    return Resources(cpus, mem)
예제 #4
0
파일: common.py 프로젝트: lmtwga/marathon
def get_resources(rtype='resources'):
    """ resource types from summary include:  resources, used_resources
    offered_resources, reserved_resources, unreserved_resources
    This current returns resources
    """
    cpus = 0
    mem = 0
    summary = DCOSClient().get_state_summary()

    if 'slaves' in summary:
        agents = summary.get('slaves')
        for agent in agents:
            cpus += agent[rtype]['cpus']
            mem += agent[rtype]['mem']

    return Resources(cpus, mem)