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)
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)
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
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
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
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
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
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
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
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
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
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
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