def verify_iscsi_device(iscsi_device, iqn, VSM_IP): if iscsi_device[0] == 'PASSED': device = iscsi_device[1] return device logging.debug('executing iscsi logout, since not able to get iscsi device') result = iscsi_login_logout(iqn, VSM_IP, 'logout') is_blocked(startTime, FOOTER_MSG, BLOCKED_MSG)
def verify_getDiskAllocatedToISCSI(result, mountpoint): if result[0] == 'PASSED' and mountpoint in str(result[1]): logging.debug('iscsi logged device... %s', result[1][mountpoint]) return result[1][mountpoint] logging.error('Not able to get iscsi legged device') result = iscsi_login_logout(iqn, VSM_IP, 'logout') is_blocked()
def getiSCSIDevice(volName, vsm_id, POOL_IOPS, vsm_dataset_id, STDURL): volumeDict = {'name': volName, 'tsmid': vsm_id, 'datasetid': \ vsm_dataset_id, 'protocoltype': 'ISCSI', 'iops': POOL_IOPS, \ 'quotasize': '20G'} result = create_volume(volumeDict, STDURL) verify_create_volume(result) logging.info('listing volume...') volumes = listVolumeWithTSMId_new(STDURL, vsm_id) if volumes[0] == 'FAILED': logging.error('Testcase %s is blocked due to' \ ': %s', tcName, volumes[1]) is_blocked(startTime, FOOTER_MSG, BLOCKED_MSG) volumes = volumes[1] vol_id, vol_iqn, account_id, mnt_point = get_vol_id( volumes, volumeDict['name']) logging.debug('volume_id: %s, aacount_id: %s, mountpoint: %s and vol_iqn: %s', \ vol_id, account_id, mnt_point, vol_iqn) add_auth_group = assign_iniator_gp_to_LUN(STDURL, vol_id, account_id, 'ALL') verify_add_auth_gp(add_auth_group, 'ALL') logging.debug('getting iqn for volume %s', volumeDict['name']) iqn = discover_iscsi_lun(VSM_IP, vol_iqn) iqn = verify_iqn(iqn) logging.debug('iqn for discovered iSCSI LUN... %s', iqn) login_result = iscsi_login_logout(iqn, VSM_IP, 'login') verify_iscsi_operation(login_result, volumeDict['name'], 'login') time.sleep(2) result = getDiskAllocatedToISCSI(VSM_IP, mnt_point) iscsiDevice = verify_getDiskAllocatedToISCSI(result, mnt_point) return iscsiDevice, vol_id, account_id, mnt_point, iqn
def iscsi_get_quota(tsm_ip, vol_iqn, vol_mntPoint): discover_lun = discover_iscsi_lun(tsm_ip, vol_iqn) if discover_lun[0] == 'FAILED': return ['FAILED', discover_lun[1]] logging.debug('IQN of discovered lun is "%s"', discover_lun[1]) lun_login = iscsi_login_logout(discover_lun[1], tsm_ip, 'login') if lun_login[0] == "FAILED": return ["FAILED", lun_login[1]] time.sleep(3) result = getDiskAllocatedToISCSI(tsm_ip, vol_mntPoint) if result[0] == 'PASSED' and vol_mntPoint in str(result[1]): logging.debug('iscsi logged device... %s', result[1][vol_mntPoint]) device = result[1][vol_mntPoint] else: return ['FAILED', 'Not able to get logged in device'] time.sleep(5) #Getting device size and converting into GB quota = getoutput('fdisk -l | grep /dev/%s: | awk {\'print $5\'}' % (device)) quota1 = int(quota[0]) / (1024 * 1024 * 1024) return ['PASSED', quota1]
def space_increase_iscsi(stdurl, tsmID, tsmIP, volname, volid, vol_iqn, vol_mntPoint): startTime = ctime() logout_result = iscsi_login_logout(vol_iqn, tsmIP, 'logout') if logout_result[0] == 'FAILED': logging.error('%s', logout_result[1]) logging.debug('%s', logout_result[1]) volList = listVolumeWithTSMId_new(stdurl, tsmID) endTime = ctime() if volList[0] == 'FAILED': logAndresult(tcName, 'BLOCKED', volList[1], startTime, endTime) get_volInfo = get_volume_info(volList[1], volname) vol_quota = get_volInfo[6] logging.debug('volume size is: %s', vol_quota) logging.info('Increasing space of Iscsi volume') vol_quota1 = vol_quota.strip('G') quota = int(vol_quota1) + 2 quota = '%sG' % quota quota1 = quota.rstrip('G') edit_quota = edit_vol_quota(volid, quota, stdurl) if edit_quota[0] == 'FAILED': logAndresult(tcName, 'FAILED', edit_quota[1], startTime, endTime) logging.debug('Successfully updated quota of volume "%s" from %s to %s'\ ,volname, vol_quota, quota) get_quota = iscsi_get_quota(tsmIP, vol_iqn, vol_mntPoint) endTime = ctime() if get_quota[0] == 'FAILED': logginig.error('After editting quota: %s', get_quota[1]) logAndresult(tcName, 'BLOCKED', volList[1], startTime, endTime) quota2 = get_quota[1] quota3 = '%sG' % quota2 logging.debug('Size of lun after quota update on client : %s', quota3) if float(quota2) == float(quota1): logging.debug('Quota of iSCSI has been updated on client side ') else: msg = 'Size is not updated on client side, current size is : %s' % size logAndresult(tcName, 'FAILED', msg, startTime, endTime)
volumes = listVolumeWithTSMId_new(STDURL, tsm_id) volumes = verify_list_volumes(volumes) vol_id, vol_iqn, account_id, mnt_point = get_vol_id(volumes, volumeDict['name']) logging.debug('volume_id: %s, aacount_id: %s, mountpoint: %s and vol_iqn: %s', \ vol_id, account_id, mnt_point, vol_iqn) add_auth_group = assign_iniator_gp_to_LUN(STDURL, vol_id, account_id, 'ALL') verify_add_auth_gp(add_auth_group, 'ALL') logging.debug('getting iqn for volume %s', volumeDict['name']) iqn = discover_iscsi_lun(VSM_IP, vol_iqn) iqn = verify_iqn(iqn) logging.debug('iqn for discovered iSCSI LUN... %s', iqn) login_result = iscsi_login_logout(iqn, VSM_IP, 'login') verify_iscsi_operation(login_result, volumeDict['name'], 'login') time.sleep(2) result = getDiskAllocatedToISCSI(VSM_IP, mnt_point) iscsi_device = verify_getDiskAllocatedToISCSI(result, mnt_point) result = execute_mkfs(iscsi_device, 'ext3') verify_execute_mkfs(result) mount_result = mount_iscsi(iscsi_device, volumeDict['name']) verify_mount(mount_result) #mount_dir = 'mount/%s' %(volumeDict['name']) mount_dir = {'name': volumeDict['name'], 'mountPoint': volumeDict['name']} logging.info('...executing vdbench....') executeVdbenchFile(mount_dir, 'filesystem_iscsi') time.sleep(20) logging.info('verifying the IOPS before Node goes to reset...') iops_datapath = poolName + '/' + accName + tsm_name + '/' + volumeDict['name']
quota = '5G' quota1 = quota.rstrip('G') edit_quota = edit_vol_quota(volid, quota, stdurl) if edit_quota[0] == 'FAILED': logAndresult(testcase, 'FAILED', edit_quota[1], startTime, endTime) logging.debug('Successfully updated quota of volume "%s" from %s to %s'\ ,volname, vol_quota, quota) umount_output = executeCmd('umount -l /dev/%s1' %device) if umount_output[0] == 'FAILED': logging.error('Not able to umount %s, still go ahead and delete '\ 'the Iscsi volume', volname) else: logging.debug('Iscsi volume %s umounted successfully', volname) logout_result = iscsi_login_logout(iqn, tsmIP, 'logout') if logout_result[0] == 'FAILED': logging.error('%s', logout_result[1]) logging.debug('%s', logout_result[1]) #after icreasing space relogging to lun logging.info('Remounting Iscsi lun after quota update') mnt_iscsi = iscsi_remount_flow(volname, tsmIP, vol_iqn, vol_mntPoint, 'ext3') endTime = ctime() if mnt_iscsi[0] == 'FAILED': logAndresult(testcase, 'BLOCKED', mnt_iscsi[1], startTime, endTime) logging.debug('%s', mnt_iscsi[1]) device, iqn, new_quota = mnt_iscsi[3], mnt_iscsi[2], mnt_iscsi[4] time.sleep(2) #logging.info('verifying quota update of client side')
endTime = ctime() msg = 'Failed to update Auth method to "%s" for volume "%s"' \ %(services.get('auth_method'), volname) logAndresult(testcase, 'FAILED', msg, startTime, endTime) #discover, login.... startTime = ctime() discover = discover_iscsi_lun(tsmIP, iqnName) if discover[0] == 'FAILED': endTime = ctime() logAndresult(testcase, 'FAILED', discover[1], startTime, endTime) else: print discover[1] logging.debug('lun discovered : %s', discover[1]) ilogin = iscsi_login_logout(iqnName, tsmIP, 'login') if result[0] == 'PASSED': logging.debug('Login successfully for iSCSI LUN %s', volname) else: endTime = ctime() logAndresult(testcase, 'FAILED', result[1], startTime, endTime) endTime = ctime() resultCollection('%s, testcase is' %testcase, ['PASSED', ' '], \ startTime, endTime) resultCollectionNew('"%s" testcase ends....' %testcase, ['', '\n']) logging.debug('getting iSCSI LUN logged device...') time.sleep(2) result = getDiskAllocatedToISCSI(tsmIP, volume['mountPoint']) print result
'blocked, not able to assign auth group due to: %s', \ addAuthGroupResult[1]) is_blocked(startTime, FOOTER_MSG, BLOCKED_MSG) # discover iSCSI LUN and getting iqn for the same discovered LUN discoverIqn = discover_iscsi_lun(VSM_IP, volIqn) if discoverIqn[0] == 'FAILED': print 'Not able to discover iSCSI LUN' logging.debug('Testcase AMSx-WLAx-NSWx-ISCSI-IORx-TC_CONTINUOUS_ISTGTCONTROL_REFRESH is '\ 'blocked, getting iqn as None for discovered iSCSI LUN') is_blocked(startTime, FOOTER_MSG, BLOCKED_MSG) discoverIqn = discoverIqn[1] logging.debug('iqn for discovered iSCSI LUN: %s', discoverIqn) # going to login newly discovered iSCSI LUN login_result = iscsi_login_logout(discoverIqn, VSM_IP, 'login') if login_result[0] == 'FAILED' and 'already' in str(login_result[1]): print 'iscsi LUN with iqn: %s already logged-in' % discoverIqn elif login_result[0] == 'FAILED': print 'Not able to login iSCSI LUN with iqn: %s' % (discoverIqn) logging.debug('Testcase AMSx-WLAx-NSWx-ISCSI-IORx-TC_CONTINUOUS_ISTGTCONTROL_REFRESH is '\ 'blocked, not able to login iSCSI LUN, Error: %s', login_result[1]) is_blocked(startTime, FOOTER_MSG, BLOCKED_MSG) else: print 'iscsi LUN with iqn: %s logged-in successfully' % discoverIqn # sleeping for 2 seconds before getting assigned device to newly... # ...logged-in iscsi LUJN time.sleep(2) # getting the device assigned to newly logged-in iSCSI LUN
get_volInfo[4], get_volInfo[5] logging.debug('volname: %s, volid: %s, vol_iqn: %s, vol_grpID: %s',\ volname, volid, vol_iqn, group_id) vl = vol_list[1][0] old_attri = {'iops': vl.get('iops'), 'quota':vl.get('quota'), \ 'compression': vl.get('compression'), 'sync': vl.get('sync'), \ 'readonly': vl.get('readonly'), 'grace': vl.get('graceallowed')} result = assign_iniator_gp_to_LUN(stdurl, volid, accId, 'ALL') verify_add_auth_gp(result) logging.debug('getting iqn for volume %s', volname) iqn = discover_iscsi_lun(tsm_ip, vol_iqn) iqn = verify_iqn(iqn) logging.debug('iqn for discovered iSCSI LUN... %s', iqn) login_result = iscsi_login_logout(iqn, tsm_ip, 'login') verify_iscsi_login(login_result, volname) time.sleep(5) mountpoint = accName + volname result = getDiskAllocatedToISCSI(tsm_ip, mountpoint) device = verify_getDiskAllocatedToISCSI(result, mountpoint) mkfs_result = execute_mkfs(device, 'ext3') verify_execute_mkfs(mkfs_result) mount_result = mount_iscsi(device, volname) verify_mount(mount_result) mount_dir = {'name': volname, 'mountPoint': volname} qos_datapath = poolName + '/' + accName + tsm_name + '/' + volname logging.info('Running vdbench by using file') exe = executeVdbenchFile(mount_dir, 'filesystem_iscsi')