示例#1
0
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)
示例#2
0
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)
示例#6
0
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']
示例#7
0
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')
示例#8
0
    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
示例#10
0
                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')