Esempio n. 1
0
def get_cluster():
    """Request for getting all clusters"""
    response = send_get('cluster')
    if isinstance(response, Response):
        return response

    for cluster_dict in response:
        fsid = cluster_dict["id"]
        response = send_get('cluster/{fsid}/sync_object/health'.format(fsid=fsid))
        response["fsid"] = fsid
        response["name"] = cluster_dict["name"]
        response["update-time"] = cluster_dict["update_time"]
        return parse_and_return(parse_cluster, response)
Esempio n. 2
0
def get_disks():
    """Request for getting info about all disks on ceph"""
    queue = Queue.Queue()
    get_disks_thread = threading.Thread(target=salt_osd_disks, args=[queue])
    get_disks_thread.start()
    response = send_get('/server')
    json_list = []
    disk_mapping = None
    for json_obj in response:
        hostname = json_obj['hostname']
        if hostname != 'mng':
            server = {'hostname': hostname}
            disks = []
            available = 0
            size = 0
            if disk_mapping is None:
                disk_mapping = queue.get()
            if hostname in disk_mapping:
                partition_dict = disk_mapping[hostname]
                for elem in partition_dict:
                    elem_str = str(elem)
                    temp = re.search(r'\d+$', elem_str)
                    if elem_str.startswith('/dev/') and temp is None:
                        disks.append({elem_str: partition_dict[elem]})
                        if 'available' in partition_dict[elem]:
                            available += int(partition_dict[elem]['available'][:-1])
                        if 'size' in partition_dict[elem]:
                            size += int(partition_dict[elem]['size'][:-1])
            server['size'] = str(size) + 'M'
            server['disks_count'] = str(disks.__len__())
            server['available'] = str(available) + 'M'
            server['disks'] = disks
            json_list.append(server)
    return json.dumps(json_list, indent=2)
Esempio n. 3
0
def server(fsid, fqdn):
    """Request for getting server of particular fqdn and fsid"""
    response = send_get('cluster/' + fsid + '/server/' + fqdn)
    if not isinstance(response, Response):
        response = parse_and_return(parse_servers, response)
    return response
Esempio n. 4
0
def all_servers_cluster(fsid):
    """Request for getting all servers in a cluster"""
    response = send_get('cluster/' + fsid + '/server')
    if not isinstance(response, Response):
        response = parse_and_return(parse_servers, response)
    return response
Esempio n. 5
0
def all_servers():
    """Request for getting all servers"""
    response = send_get('/server')
    if not isinstance(response, Response):
        response = parse_and_return(parse_servers, response)
    return response
Esempio n. 6
0
def monitor(fsid, name):
    """Request for getting monitor of particular name"""
    response = send_get('cluster/' + fsid + '/mon/' + name)
    if not isinstance(parse_mons, Response):
        response = parse_and_return(parse_mons, response)
    return response
Esempio n. 7
0
def all_pools(fsid):
    """Request for getting all pools"""
    response = send_get('cluster/' + fsid + '/pool')
    if not isinstance(response, Response):
        response = parse_and_return(parse_pools, response)
    return response
Esempio n. 8
0
def monitor(fsid, name):
    """Request for getting monitor of particular name"""
    response = send_get('cluster/' + fsid + '/mon/' + name)
    if not isinstance(parse_mons, Response):
        response = parse_and_return(parse_mons, response)
    return response
Esempio n. 9
0
def all_servers_cluster(fsid):
    """Request for getting all servers in a cluster"""
    response = send_get('cluster/' + fsid + '/server')
    if not isinstance(response, Response):
        response = parse_and_return(parse_servers, response)
    return response
Esempio n. 10
0
def all_servers():
    """Request for getting all servers"""
    response = send_get('/server')
    if not isinstance(response, Response):
        response = parse_and_return(parse_servers, response)
    return response
Esempio n. 11
0
def osd(fsid, osd_id):
    """Request for getting monitor of particular id"""
    response = send_get('cluster/' + fsid + '/osd/' + osd_id)
    if not isinstance(response, Response):
        response = parse_and_return(parse_osds, response)
    return response
Esempio n. 12
0
def all_osds(fsid):
    """Request for getting all osds"""
    response = send_get('cluster/' + fsid + '/osd')
    if not isinstance(response, Response):
        response = parse_and_return(parse_osds, response)
    return response
Esempio n. 13
0
def cluster():
    """Request for getting all clusters"""
    response = send_get('cluster')
    if not isinstance(response, Response):
        response = parse_and_return(parse_clusters, response)
    return response
Esempio n. 14
0
def pool(fsid, pool_id):
    """Request for pools monitor of particular id"""
    response = send_get('cluster/' + fsid + '/pool/' + str(pool_id))
    if not isinstance(response, Response):
        response = parse_and_return(parse_pools, response)
    return response
Esempio n. 15
0
def server_fqdn(fqdn):
    """Request for getting server of particular fqdn"""
    response = send_get('/server/' + fqdn)
    if response.status_code != 422:
        response = parse_and_return(parse_servers, response)
    return response
Esempio n. 16
0
def all_monitors(fsid):
    """Request for getting all monitors"""
    response = send_get('cluster/' + fsid + '/mon')
    if not isinstance(response, Response):
        response = parse_and_return(parse_mons, response)
    return response
Esempio n. 17
0
def server(fsid, fqdn):
    """Request for getting server of particular fqdn and fsid"""
    response = send_get('cluster/' + fsid + '/server/' + fqdn)
    if not isinstance(response, Response):
        response = parse_and_return(parse_servers, response)
    return response
Esempio n. 18
0
def osd(fsid, osd_id):
    """Request for getting monitor of particular id"""
    response = send_get('cluster/' + fsid + '/osd/' + osd_id)
    if not isinstance(response, Response):
        response = parse_and_return(parse_osds, response)
    return response
Esempio n. 19
0
def server_fqdn(fqdn):
    """Request for getting server of particular fqdn"""
    response = send_get('/server/' + fqdn)
    if response.status_code != 422:
        response = parse_and_return(parse_servers, response)
    return response
Esempio n. 20
0
def pool(fsid, pool_id):
    """Request for pools monitor of particular id"""
    response = send_get('cluster/' + fsid + '/pool/' + str(pool_id))
    if not isinstance(response, Response):
        response = parse_and_return(parse_pools, response)
    return response
Esempio n. 21
0
def all_monitors(fsid):
    """Request for getting all monitors"""
    response = send_get('cluster/' + fsid + '/mon')
    if not isinstance(response, Response):
        response = parse_and_return(parse_mons, response)
    return response