def get_context_data(self, **kwargs): context = {} storage_group_list = vsmapi.storage_group_status(None,) storage_group = [] for _sg in storage_group_list: sg = { "id":_sg.id ,"name":_sg.name } storage_group.append(sg) context["storage_group"] = storage_group servers = vsmapi.get_server_list(None, ) context["servers"] = servers; if len(servers) > 0: context["OSDList"] = vsmapi.osd_status(self.request, paginate_opts={ "service_id": servers[0].service_id }) ret = vsmapi.get_available_disks(self.request, search_opts={ "server_id": servers[0].id , "result_mode":"get_disks", }) disks = ret['disks'] or [] disks_list = [disk for disk in disks if disk.find('by-path') != -1] context["available_disks"] = disks_list return context
def check_device_path(request): search_opts = json.loads(request.body) server_id = search_opts["server_id"] data_device_path = search_opts["data_device_path"] journal_device_path = search_opts["journal_device_path"] if data_device_path == journal_device_path: status_json = { "status": "Failed", 'message': 'data_device_path and journal_device_path can not be the same hard disk' } else: ret = vsmapi.get_available_disks( request, search_opts={ "server_id": server_id, "path": [data_device_path, journal_device_path] }) if ret["ret"] == 1: status_json = {"status": "OK"} else: status_json = {"status": "Failed", 'message': ret.get('message')} status_data = json.dumps(status_json) return HttpResponse(status_data)
def get_available_disks(request): search_opts = json.loads(request.body) server_id = search_opts["server_id"] ret = vsmapi.get_available_disks(request, search_opts={ "server_id": server_id ,"result_mode":"get_disks", }) disks = ret['disks'] if disks is None:disks=[] disk_data = json.dumps(disks) return HttpResponse(disk_data)
def get_available_disks(request): search_opts = json.loads(request.body) server_id = search_opts["server_id"] ret = vsmapi.get_available_disks(request, search_opts={ "server_id": server_id ,"result_mode":"get_disks", }) disks = ret['disks'] if disks is None:disks=[] disks_list = [disk for disk in disks if disk.find('by-path')!=-1] disk_dict = {'disks':disks_list} disk_data = json.dumps(disk_dict) return HttpResponse(disk_data)
def check_device_path(request): search_opts = json.loads(request.body) server_id = search_opts["server_id"] data_device_path = search_opts["data_device_path"] journal_device_path = search_opts["journal_device_path"] ret = vsmapi.get_available_disks(request, search_opts={ "server_id": server_id ,"path":[data_device_path,journal_device_path] }) if ret["ret"] == 1 : status_json = {"status":"OK"} else: status_json = {"status":"Failed",'message':ret.get('message')} status_data = json.dumps(status_json) return HttpResponse(status_data)
def get_available_disks(request): search_opts = json.loads(request.body) server_id = search_opts["server_id"] ret = vsmapi.get_available_disks(request, search_opts={ "server_id": server_id, "result_mode": "get_disks", }) disks = ret['disks'] if disks is None: disks = [] disk_data = json.dumps(disks) # device_list = [] # for i in range(0,5): # device_list.append({ # "by_path":"Path_"+str(i), # "disk_name":"/dev/vdb_"+str(i), # "by_uuid":"/dev/disk/by-path/xxxxxxxxxxxxxxxx_"+str(i) # }) # devicedata = json.dumps(device_list) return HttpResponse(disk_data)