def clean_up_environment(): clean_up() try: # stop all migrate vol_request = server.webapi('get', 'volume?page=1&page_size=100') if isinstance(vol_request, dict): for vol in json.loads(vol_request["text"]): if 'adv_role' in vol.keys() and vol['adv_role'] == 'Source': server.webapi('post', 'migrate/' + str(vol['id']) + '/stop', {"location": 2}) # delete pool find_pd_id() # delete initiator init_request = server.webapi('get', 'initiator') if isinstance(init_request, dict): for init in json.loads(init_request["text"]): server.webapi('delete', 'initiator/' + str(init["id"])) return except (): tolog('to clean up environment is failed\r\n')
def missing_parameter_transit(c): cli_failed_test = cli_test_failed_test() cli_failed_test.failed_test(c, data, 'missing_parameter_transit') # clean_up_environment find_pd_id() return cli_failed_test.FailFlag
def missing_parameter_for_lunmap(c): cli_failed_test = cli_test_failed_test() cli_failed_test.failed_test(c, data, 'missing_parameter_for_lunmap') # clean up environment clean_up_environment() find_pd_id() return cli_failed_test.FailFlag
def add_pool_by_external_drive(c): # precondition if precondition(): find_pd_id() cli_setting = cli_test_setting() cli_setting.setting(c, data, 'add_pool_by_external_drive', 3) return cli_setting.FailFlag else: tolog('precondition is failed\n')
def missing_parameter_for_allowip(c): cli_failed_test = cli_test_failed_test() cli_failed_test.failed_test(c, data, 'missing_parameter_for_allowip') # clean up environment try: find_pd_id() except TypeError: tolog('to clean up environment is failed\r\n') return cli_failed_test.FailFlag
def add_pool_raid0(c): cli_setting = cli_test_setting() # precondition try: find_pd_id() except TypeError: tolog('precondition is failed\r\n') else: cli_setting.setting(c, data, 'add_pool_raid0', 3) return cli_setting.FailFlag
def clean_up_environment(): try: bgaS_request = server.webapi('get', 'bgaschedule') bgaS_info = json.loads(bgaS_request['text']) for info in bgaS_info: server.webapi('delete', 'bgaschedule/' + str(info['id'])) except: tolog('failed to clean up environment\n') find_pd_id() return
def add_wcache_dedication(c): cli_setting = cli_test_setting() # precondition try: pdId = find_pd_id() # create pool server.webapi('post', 'pool', { "name": "test_cache_0", "pds": pdId[:3], "raid_level": "raid5" }) server.webapi('post', 'pool', { "name": "test_cache_1", "pds": pdId[4:7], "raid_level": "raid5" }) except TypeError: tolog('precondition is failed\r\n') else: cli_setting.setting(c, data, 'add_wcache_dedication', 1) return cli_setting.FailFlag
def precondition(): pdId = find_pd_id() # create pool server.webapi('post', 'pool', { "name": "test_clone_pool", "pds": pdId[:3], "raid_level": "raid5" }) # create nasShare snapshot server.webapi('post', 'nasshare', { 'pool_id': 0, 'name': 'test_clone_nas', 'capacity': '2GB' }) server.webapi('post', 'snapshot', { "name": "test_clone_nas_snap", "type": 'nasshare', "source_id": 0 }) # create volume snapshot server.webapi('post', 'volume', { 'pool_id': 0, 'name': 'test_clone_volume', 'capacity': '2GB' }) server.webapi('post', 'snapshot', { "name": "test_clone_vol_snap", "type": 'volume', "source_id": 0 })
def list_spare(c): cli_list = cli_test_list() try: # precondition pdId = find_pd_id() # create pool server.webapi('post', 'pool', { "name": "test_spare_pool", "pds": pdId[:3], "raid_level": "raid5" }) # create spare server.webapi( 'post', 'spare', { "dedicated": 'global', "revertible": 0, "pool_list": [], "pd_id": pdId[3] }) server.webapi( 'post', 'spare', { "dedicated": 'dedicated', "revertible": 1, "pool_list": [0], "pd_id": pdId[5] }) except: tolog('precondition is failed\r\n') else: cli_list.list(c, data, 'list_spare') return cli_list.FailFlag
def add_dedicated_spare(c): cli_setting = cli_test_setting() # precondition try: pdId = find_pd_id() except: tolog('precondition is failed\r\n') else: # create pool server.webapi('post', 'pool', { "name": "test_spare_pool_0", "pds": pdId[:3], "raid_level": "raid5" }) server.webapi('post', 'pool', { "name": "test_spare_pool_1", "pds": pdId[3:6], "raid_level": "raid5" }) cli_setting.setting(c, data, 'add_dedicated_spare', 3) return cli_setting.FailFlag
def raid10_start_rb(c): cli_setting = cli_test_setting() # precondition try: pdId = find_pd_id() except TypeError: tolog('precondition is failed\r\n') else: # create pool server.webapi('post', 'pool', { "name": "test_rb_10", "pds": pdId[:4], "raid_level": "raid10" }) cli_setting.setting(c, data, 'raid10_start_rb', 3) return cli_setting.FailFlag
def expand_raid60_pool(c): cli_setting = cli_test_setting() # precondition try: pdId = find_pd_id() # create pool server.webapi( 'post', 'pool', { "name": "expand_raid60_pool", "pds": pdId[:8], "raid_level": "raid60", "axle": 2 }) time.sleep(3) except TypeError: tolog('precondition is failed\r\n') else: cli_setting.setting(c, data, 'expand_raid60_pool', 3) return cli_setting.FailFlag
def list_pool(c): cli_list = cli_test_list() # precondition try: pdId = find_pd_id() # create pool server.webapi('post', 'pool', { "name": "raid0_pool", "pds": [pdId[0]], "raid_level": "raid0" }) server.webapi('post', 'pool', { "name": "raid5_pool", "pds": pdId[1:4], "raid_level": "raid5" }) except TypeError: tolog('precondition is failed\r\n') else: cli_list.list(c, data, 'list_pool') return cli_list.FailFlag
def precondition(): try: pdId = find_pd_id() except TypeError: tolog('precondition is failed\r\n') else: # create pool server.webapi('post', 'pool', { "name": "test_snap_pool", "pds": pdId[:3], "raid_level": "raid5" }) # create nasShare server.webapi('post', 'nasshare', { 'pool_id': 0, 'name': 'test_snap_nas', 'capacity': '2GB' }) # create volume server.webapi('post', 'volume', { 'pool_id': 0, 'name': 'test_snap_volume', 'capacity': '2GB' })
def clear_phydrv(c): cli_setting = cli_test_setting() # precondition: create pool, create spare try: pdId = find_pd_id() server.webapi('post', 'pool', { "name": "test_phy_3", "pds": pdId[:3], "raid_level": "raid5" }) server.webapi('post', 'spare', { "pd_id": pdId[4], "dedicated": 'global', "revertible": 0 }) except (TypeError, IndexError): tolog('precondition is failed\r\n') else: cli_setting.setting(c, data, 'clear_phydrv', 3) return cli_setting.FailFlag
def invalid_parameter_for_spare(c): cli_failed_test = cli_test_failed_test() # precondition try: pdId = find_pd_id() except: tolog('precondition is failed\r\n') else: # create pool server.webapi('post', 'pool', { "name": "test_spare_pool", "pds": pdId[:3], "raid_level": "raid0" }) cli_failed_test.failed_test(c, data, 'invalid_parameter_for_spare') return cli_failed_test.FailFlag
def add_rcache_by_multiple_pd(c): cli_setting = cli_test_setting() # precondition try: find_pd_id() except TypeError: tolog('precondition is failed\r\n') else: cli_setting.setting(c, data, 'add_rcache_by_multiple_pd', 1) return cli_setting.FailFlag
def precondition(): pdId = find_pd_id() # to add target fabric_request = server.webapi('get', 'fcinitiator') try: fabric_info = json.loads(fabric_request["text"]) for fabric in fabric_info: if len(fabric["initiators"]) != 0: temp = fabric["initiators"] for t in temp: if t['wwnn'] == '25-00-00-01-55-59-ea-9d': server.webapi('post', 'target', {"name": '25-00-00-01-55-59-ea-9d'}) except: tolog('precondition is failed\n') ssd_id = [] # create pool server.webapi('post', 'pool', { "name": "test_phy_0", "pds": [pdId[0]], "raid_level": "RAID0" }) server.webapi('post', 'pool', { "name": "test_phy_1", "pds": pdId[1:4], "raid_level": "raid5" }) # create spare server.webapi('post', 'spare', { "pd_id": pdId[4], "dedicated": 'global', "revertible": 0 }) server.webapi( 'post', 'spare', { "pd_id": pdId[5], "dedicated": 'dedicated', "revertible": 0, "pool_list": [0] }) # create cache pd_request = server.webapi('get', 'phydrv') pd_info = json.loads(pd_request["text"]) for info in pd_info: if info["media_type"] == 'SSD': ssd_id.append(info["id"]) server.webapi('post', 'rcache/attach', {"pd_list": [ssd_id[0]]}) server.webapi('post', 'wcache/attach', { "pd_list": ssd_id[1:], "pool_list": [] })
def invalid_setting_parameter(c): cli_failed_test = cli_test_failed_test() # precondition try: find_pd_id() except (TypeError, IndexError): tolog('precondition is failed\r\n') else: cli_failed_test.failed_test(c, data, 'invalid_setting_parameter') return cli_failed_test.FailFlag
def add_wcache_no_dedication(c): cli_setting = cli_test_setting() # precondition try: find_pd_id() except TypeError: tolog('precondition is failed\r\n') else: cli_setting.setting(c, data, 'add_wcache_no_dedication', 1) return cli_setting.FailFlag
def precondition(): # disable domain, if enabled domain, to add user or group will happen error server.webapi('post', 'domain/leave') try: pdId = find_pd_id() # create pool server.webapi('post', 'pool', { "name": "test_acl_pool", "pds": pdId[:3], "raid_level": "raid5" }) # create nasShare for i in range(2): server.webapi('post', 'nasshare', { 'pool_id': 0, 'name': 'test_acl_nas_' + str(i), 'capacity': '2GB' }) # create nas user for i in range(10): server.webapi('post', 'dsuser', { "id": 'test_acl_' + str(i), "password": '******' }) # create nas group for i in range(10): server.webapi('post', 'dsgroup/editcancel') step1 = server.webapi('post', 'dsgroup/editbegin', { "page": 1, "page_size": 20 }) token = json.loads(step1["text"])[0]["token"] get_page_data = json.loads(step1["text"])[0]["page_data"] page_data = [[0, uid["uid"]] for uid in get_page_data] server.webapi('post', 'dsgroup/editnext', { "page": 1, "page_size": 20, "token": token, "page_data": page_data }) server.webapi( 'post', 'dsgroup/editsave', { "id": 'test_acl_group_' + str(i), "token": token, "page_data": page_data }) server.webapi('post', 'dsgroup/editcancel') except: tolog("precondition is failed\r\n")
def clean_up_environment(): # stop all replication replica_request = server.webapi('get', 'replica') if isinstance(replica_request, dict): try: for replica in json.loads(replica_request["text"]): server.webapi('post', 'replicaloc/' + str(replica["src_id"]) + '/stop') time.sleep(3) except (TypeError, KeyError): tolog('to clean up environment is failed\r\n') else: for i in range(3): server.webapi('delete', 'pool/' + str(i) + '?force=1') # delete pool find_pd_id() # delete initiator init_request = server.webapi('get', 'initiator') if isinstance(init_request, dict): try: for init in json.loads(init_request["text"]): server.webapi('delete', 'initiator/' + str(init["id"])) except (TypeError, KeyError): tolog('to clean up environment is failed\r\n') return
def precondition(): pdId = find_pd_id() # create pool server.webapi('post', 'pool', {"name": "test_transit_0", "pds": [pdId[0]], "raid_level": "RAID0"}) server.webapi('post', 'pool', {"name": "test_transit_1", "pds": pdId[1:4], "raid_level": "raid5"}) # create spare server.webapi('post', 'spare', {"pd_id": pdId[4], "dedicated": 'global', "revertible": 0}) # server.webapi('post', 'spare', {"pd_id": pdId[5], "dedicated": 'dedicated', "revertible": 0, "pool_list": [0]}) server.webapi('post', 'spare', {"pd_id": pdId[6], "dedicated": 'dedicated', "revertible": 1, "pool_list": [1]})
def precondition(): pdId = find_pd_id('4TB') # create pool server.webapi('post', 'pool', {"name": "test_quota_API", "pds": pdId, "raid_level": "raid5"}) # create nasShare server.webapi('post', 'nasshare', {'pool_id': 0, 'name': 'test_protocol_api', 'capacity': '2GB'}) # create clone server.webapi('post', 'snapshot', {"name": "test_quota_API_s", "type": 'nasshare', "source_id": 0}) server.webapi('post', 'clone', {"name": "test_quota_API_c", "source_id": 0})
def precondition(): pdId = find_pd_id() server.webapi('post', 'pool', { "name": "test_protocol_API", "pds": pdId[:3], "raid_level": "raid5" }) server.webapi('post', 'nasshare', { 'pool_id': 0, 'name': 'test_protocol_api', 'capacity': '2GB' })
def precondition(): try: clean_up_environment() pdId = find_pd_id() # create pool server.webapi('post', 'pool', { "name": "T_lunMap_P0", "pds": pdId[6:9], "raid_level": "raid5" }) # create volume and export it for i in range(3): server.webapi('post', 'volume', { 'pool_id': 0, 'name': 'T_lunMap_V' + str(i), 'capacity': '100GB' }) server.webapi('post', 'volume/' + str(i) + '/export') # create snapshot and export it for i in range(3): server.webapi('post', 'snapshot', { "name": "T_lunMap_SS" + str(i), "type": 'volume', "source_id": 2 }) server.webapi('post', 'snapshot/' + str(i) + '/export') # create clone and export it for i in range(3): server.webapi('post', 'clone', { "name": "T_lunMap_C" + str(i), "source_id": 2 }) server.webapi('post', 'clone/' + str(i) + '/export') # create initiator for i in range(4): server.webapi('post', 'initiator', { 'type': 'iSCSI', 'name': 'T.com' + str(i) }) server.webapi('post', 'initiator', { 'type': 'fc', 'name': '00-11-22-33-00-00-11-1' + str(i) }) except: tolog("precondition is failed\r\n") return
def deleteVolume(c): cli_delete = cli_test_delete() # precondition: create volume snapshot server.webapi('post', 'snapshot', { "name": "test_volume_snap", "type": 'volume', "source_id": 1 }) cli_delete.delete(c, data, 'deleteVolume', 3) # clean up environment try: find_pd_id() except TypeError: tolog('to clean up environment is failed\r\n') return cli_delete.FailFlag
def findPoolId(): # precondition pdId = find_pd_id('4TB') if len(pdId) > 0: # create pool server.webapi('post', 'pool', { "name": "test_NASShare_pool", "pds": pdId[:3], "raid_level": "raid5" }) plId = '0' return plId
def precondition(): try: pdId = find_pd_id("2TB") except TypeError: tolog('precondition is failed\r\n') else: # create pool server.webapi('post', 'pool', { "name": 'test_protocol_pool', "raid_level": 'raid5', "pds": pdId }) # create nasShare for i in range(3): server.webapi('post', 'nasshare', { "pool_id": 0, "name": 'test_protocol_nasShare_' + str(i), "capacity": '2GB' }) # create snapshot for i in range(3): server.webapi('post', 'snapshot', { "name": 'test_protocol_snap_' + str(i), "type": 'nasshare', "source_id": 0 }) # create clone for i in range(3): server.webapi('post', 'clone', { "name": 'test_protocol_clone_' + str(i), "source_id": 0 }) # create nas user server.webapi('post', 'dsuser', { "id": 'test_protocol', "password": '******' }) return