def execute(): clear_result() ibofos_util.pci_rescan() out = CREATE_ARRAY_NO_SPARE.execute() print(out) out = cli.mount_ibofos() print(out) ibofos_util.pci_detach_and_attach(CREATE_ARRAY_NO_SPARE.DATA_DEV_1) time.sleep(2) ibofos_util.pci_detach_and_attach(CREATE_ARRAY_NO_SPARE.DATA_DEV_2) time.sleep(2) out = cli.unmount_ibofos() print(out) out = cli.delete_array("") print(out) ibofos_util.pci_rescan() ibofos.start_ibofos() cli.scan_device() cli.list_device() out = cli.create_array("uram0", DATA, SPARE, ARRAY_NAME, "") print(out) out = cli.mount_ibofos() print(out) return out
def scan_dev(): write_log("scan_dev begin") ibofos_util.pci_rescan() time.sleep(2) cli.scan_device() cli.list_device() write_log("scan_dev done")
def execute(): pos_util.pci_rescan() out = CREATE_ARRAY_NO_SPARE.execute() print (out) out = cli.mount_array(ARRAYNAME) print (out) pos_util.pci_detach(CREATE_ARRAY_NO_SPARE.DATA_DEV_1) time.sleep(2) pos_util.pci_detach(CREATE_ARRAY_NO_SPARE.DATA_DEV_2) time.sleep(2) out = cli.unmount_array(ARRAYNAME) print (out) out = cli.delete_array(ARRAYNAME) print (out) pos.exit_pos() pos_util.pci_rescan() pos.start_pos() cli.scan_device() cli.list_device() out = cli.create_array("uram0", DATA, SPARE, ARRAYNAME, "RAID5") print (out) out = cli.mount_array(ARRAYNAME) print (out) return out
def load_array(): out = cli.load_array("") code = json_parser.get_response_code(out) cli.list_device() cli.list_volume("") if code == 0: write_log("array loaded successfully") return True else: write_log("array loading failed, code: " + str(code)) return False
def execute(): clear_result() MOUNT_ARRAY_BASIC_1.execute() ibofos_util.pci_detach(MOUNT_ARRAY_BASIC_1.ANY_DATA) time.sleep(0.5) print(cli.list_device()) ibofos_util.pci_detach(MOUNT_ARRAY_BASIC_1.ANY_OTHER_DATA) out = cli.unmount_ibofos() print(out) cur_info = json.loads(cli.array_info("")) cur_state = cur_info['Response']['info']['situation'] print(cur_state) if cur_state != 'FAULT': print("STOP State is not triggered, try again") return cur_info wait_time = 20 for i in reversed(range(wait_time)): print("Wait to cancel rebuild " + str(i) + " seconds left") time.sleep(1) out = cli.unmount_ibofos() print(out) return out
def get_num_ssd(): out = cli.list_device() numSSD = 0 for device in json_parser.get_data(out)['devicelist']: if device['type'] == "SSD": numSSD += 1 return numSSD
def get_system_dev_for_spare(): devicelist = cli.list_device() write_log(devicelist) data = json.loads(devicelist) actual_list = [] for item in data['Response']['result']['data']['devicelist']: if item['type'] == "SSD" and item['class'] == "SYSTEM": return item['name'] return "no remaining system device"
def execute(): clear_result() ibofos_util.pci_rescan() MOUNT_VOL_BASIC_1.execute() ibofos_util.pci_detach_and_attach(DETACH_TARGET_DATA) time.sleep(6) #TO TRIGGER REBUILD ibofos_util.pci_detach_and_attach(DETACH_TARGET_SPARE) time.sleep(3) print(cli.list_device()) out = cli.add_device(NEW_SPARE, "")
def check_result(): out = cli.get_ibofos_info() data = json.loads(out) if data['Response']['info']['situation'] == "NORMAL": list = cli.list_device() data = json.loads(list) for item in data['Response']['result']['data']['devicelist']: if item['name'] == DETACH_TARGET_DEV : return "fail", list return "pass", out return "fail", out
def execute(): MOUNT_VOL_BASIC_1.execute() fio_proc = fio.start_fio(0, 200) time.sleep(10) pos_util.pci_detach_and_attach(DETACH_TARGET_DEV) detach_dev_timeout = 80 time.sleep(detach_dev_timeout) print(cli.list_device()) spare_dev_newly_attached = "unvme-ns-4" result = cli.add_device(spare_dev_newly_attached, ARRAYNAME) code = json_parser.get_response_code(result) if code == 0: print("device added successfully") rebuild_trigger_timeout = 100 rebuild_started = False for i in range(rebuild_trigger_timeout): out = cli.array_info(ARRAYNAME) situ = json_parser.get_situation(out) if situ.find("REBUILD") >= 0: print("rebuilding started") rebuild_duration = 5 time.sleep(rebuild_duration) rebuild_started = True break time.sleep(1) if rebuild_started == False: fio.stop_fio(fio_proc) return False pos_util.pci_detach_and_attach(MOUNT_VOL_BASIC_1.SPARE) #waiting for rebuild stopped print("Waiting for rebuild stopped") rebuild_stop_delay = 60 time.sleep(rebuild_stop_delay) rebuild_started = False while True: out = cli.array_info(ARRAYNAME) situ = json_parser.get_situation(out) if situ.find("REBUILD") == -1 and rebuild_started == True: print("2nd rebuilding done") fio.wait_fio(fio_proc) return True elif rebuild_started == False and situ.find("REBUILD") >= 0: print("2nd rebuilding started") rebuild_started = True time.sleep(1) else: print("device added failure") fio.stop_fio(fio_proc) return False
def execute(): START_POS_BASIC.execute() out = cli.list_device() return out
def execute(): clear_result() ibofos.start_ibofos() out = cli.list_device() return out