def add_spare(spare): out = cli.add_device(spare, "") code = json_parser.get_response_code(out) if code == 0: write_log ("Spare device: " + spare + " has been added successfully") return True else: write_log ("Spare device: " + spare + " adding failed, code: " + str(code)) return False
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 execute(): clear_result() MOUNT_ARRAY_NO_SPARE_3.execute() ibofos_util.pci_detach(MOUNT_ARRAY_NO_SPARE_3.DATA_DEV_1) time.sleep(2) ibofos_util.pci_detach(MOUNT_ARRAY_NO_SPARE_3.DATA_DEV_2) time.sleep(2) ibofos_util.pci_detach(MOUNT_ARRAY_NO_SPARE_3.DATA_DEV_3) time.sleep(2) cli.array_info(MOUNT_ARRAY_NO_SPARE_3.ARRAYNAME) out = cli.add_device(SPARE_DEV, MOUNT_ARRAY_NO_SPARE_3.ARRAYNAME) return 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(): clear_result() DETACH_DEV_DATA_DEGRADED_IO.execute() out = cli.add_device(NEW_SPARE, "") rebuild_started = False while True: out = cli.get_ibofos_info() if out.find("REBUILDING") == -1 and rebuild_started == True: print ("rebuilding done") break elif rebuild_started == False and out.find("REBUILDING") >= 0: print ("rebuilding started") rebuild_started = True time.sleep(1)
def execute(): DETACH_DEV_DATA_AND_DEGRADED_IO.execute() out = cli.add_device(NEW_SPARE, ARRAYNAME) 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 ("rebuilding done") break elif rebuild_started == False and situ.find("REBUILD") >= 0: print ("rebuilding started") rebuild_started = True time.sleep(1)
def execute(): MOUNT_VOL_NO_SPARE.execute() fio_proc = fio.start_fio(0, 30) fio.wait_fio(fio_proc) fio_proc = fio.start_fio(0, 30) api.detach_ssd_and_attach(DETACH_TARGET_DEV) code = -1 while code != 0: out = cli.add_device(FIRST_SPARE, ARRAYNAME) code = json_parser.get_response_code(out) print ("add spare response: " + str(code)) print("spare added") cli.add_device(SECOND_SPARE, ARRAYNAME) if api.wait_situation(ARRAYNAME, "REBUILDING") is True: print("1st rebuilding") api.detach_ssd(FIRST_SPARE) timeout = 80000 #80s if api.wait_situation(ARRAYNAME, "DEGRADED", timeout) is True: print("1st rebuilding stopped") if api.wait_situation(ARRAYNAME, "REBUILDING", timeout) is True: print("2nd rebuilding") return "pass" return "fail"
def execute(): clear_result() CREATE_ARRAY_NO_SPARE.execute() out = cli.add_device(SPARE_DEV, "") return out
def execute(): SCAN_DEV_BASIC.execute() out = cli.add_device("unmve-ns-3", "NOARRAY") return out
def execute(): REBUILD_STOP_BASIC.execute() out = cli.add_device(REBUILD_STOP_BASIC.REMAINING_DEV, ARRAYNAME) print(out) return out
def execute(): clear_result() MOUNT_ARRAY_NO_SPARE_3.execute() out = cli.add_device(SPARE_DEV, "") return out
def execute(): MOUNT_ARRAY_NO_SPARE.execute() out = cli.add_device(SPARE_DEV, "wrong_array_name") return out
def execute(): CREATE_ARRAY_NO_SPARE.execute() out = cli.add_device(SPARE_DEV, ARRAYNAME) return out
def execute(): clear_result() ADD_DEV_BASIC_1.execute() out = cli.add_device(ADD_DEV_BASIC_1.SPARE_DEV, "") return out
def execute(): clear_result() SCAN_DEV_BASIC_1.execute() out = cli.add_device("unmve-ns-3", "") return out
def execute(): ADD_SPARE_BASIC.execute() out = cli.add_device(ADD_SPARE_BASIC.SPARE_DEV, ARRAYNAME) return out
def execute(): MOUNT_ARRAY_NO_SPARE.execute() wrong_dev = "wrong_dev" out = cli.add_device(wrong_dev, MOUNT_ARRAY_NO_SPARE.ARRAYNAME) return out
def execute(): clear_result() MOUNT_ARRAY_NO_SPARE_3.execute() wrong_dev = "wrong_dev" out = cli.add_device(wrong_dev, "") return out