quarchpy.disk_test package

Submodules

quarchpy.disk_test.AbsDiskFinder module

class quarchpy.disk_test.AbsDiskFinder.AbsDiskFinder

Bases: object

abstract findDevices()
abstract formatList(deviceList)
abstract returnDisk()

quarchpy.disk_test.DiskTargetSelection module

This contains useful functions to help with disk target selection

Ensure installation of wmi and pywin32

########### VERSION HISTORY ###########

13/08/2018 - Andy Norrie - First version, based on initial work from Pedro Leao

quarchpy.disk_test.DiskTargetSelection.getDiskTargetSelection(purpose='iometer')

quarchpy.disk_test.UserTestExample module

quarchpy.disk_test.driveTestConfig module

This file contains global setup variables and similar, required for use across multiple modules

########### VERSION HISTORY ###########

03/01/2019 - Andy Norrie - First Version

########### INSTRUCTIONS ###########

N/A


quarchpy.disk_test.driveTestConfig.logDebugMessagesOnTerminal = True

Settings for current GUI

quarchpy.disk_test.driveTestCore module

This file contains the core functions for the drive test suite. Functions are placed here for the core setup functions called during the init stage of a test (or CSV parsed test set)

########### VERSION HISTORY ###########

03/01/2019 - Andy Norrie - First Version

########### INSTRUCTIONS ###########

N/A


quarchpy.disk_test.driveTestCore.DiskStatusCheck(driveId, expectedState, check_lanes=True, mapping_mode=None)
class quarchpy.disk_test.driveTestCore.QuarchComplianceSuite(port_number=9742)

Bases: object

activate_remote_server()
attempt_restart(reason=None)
bind_socket_tls()
commandParser(data)
compile_test(sub_elem)
parse_request(xml_tree)
setup_mdns_server()
show_server_Status(status, action)
quarchpy.disk_test.driveTestCore.checkDriveState(driveObject, deviceState, waitTime)
quarchpy.disk_test.driveTestCore.check_compatibility()
quarchpy.disk_test.driveTestCore.check_programs_status()
quarchpy.disk_test.driveTestCore.check_qis_open(qps_instance, timeout=5000)
quarchpy.disk_test.driveTestCore.check_qps_open(timeout=5000)
quarchpy.disk_test.driveTestCore.chooseQuarchModule(module_name, module_type=None, ip_address_lookup=None, scan_dictionary=None)
quarchpy.disk_test.driveTestCore.chooseQuarchModuleQPS(moduleName, myQps=None)
quarchpy.disk_test.driveTestCore.disable_quickedit()

Enable or disable quick edit mode to prevent system hangs, sometimes when using remote desktop Param (Enabled) enabled = 1(default), enable quick edit mode in python console enabled = 0, disable quick edit mode in python console

quarchpy.disk_test.driveTestCore.executeAndCheckCommand(myDevice, command)
quarchpy.disk_test.driveTestCore.getLocalIpAddress(first=True)
quarchpy.disk_test.driveTestCore.get_module_from_choice(connection, report_dict, return_val, is_qps=False)
quarchpy.disk_test.driveTestCore.get_quarch_modules_qps()
quarchpy.disk_test.driveTestCore.is_tool(name)

Check whether name is on PATH.

quarchpy.disk_test.driveTestCore.main(argstring)
quarchpy.disk_test.driveTestCore.printProgressBar(iteration, total)
quarchpy.disk_test.driveTestCore.printToBackend(text='')
quarchpy.disk_test.driveTestCore.resetTestResources()
quarchpy.disk_test.driveTestCore.sendMsgToGUI(toSend, timeToWait=5)
quarchpy.disk_test.driveTestCore.setRunUntilFirstTestFailure()
quarchpy.disk_test.driveTestCore.setUpLogging(log_level)
quarchpy.disk_test.driveTestCore.specifyQuarchModule(moduleName, interFaceType='PY', powerOnDevice=True, return_val=False, module_type='all', report_dict=[])
quarchpy.disk_test.driveTestCore.update_progress_bars(completion_value, is_document_mode)

quarchpy.disk_test.dtsComms module

class quarchpy.disk_test.dtsComms.DTSCommms

Bases: object

add_report_item(dictionary, tree_tag, output_mode=None)
add_xml_drive(device, tree_tag)
add_xml_quarch_module(dict_key, dict_value, tree_tag, output_mode=None)
comms_send(toSend, timeToWait=5)
create_request_function(function_call, function_value=None, requires_response=True)
create_request_gui(title, description, window_type, window_mode='PY', dict_of_modules=None, dict_of_drives=None, report_dict=None)
create_request_log(logTime, messageType, messageText, messageSource, messageData=None, test_result=None, uId='', group=None, sub_group=None)
create_request_poll(poll_type=None)
create_request_root(root_tag, request_type, response_required=True)
create_request_status(number_of_test_points=None, add_test_points=None, completion_value=None)
create_request_variable(custom_variable_list, root_tag=None)
create_response(function_complete=False, function_type=None)
getReturnPacket(socket, message_sent='')
isVersionCompat(version_number)
notifyTestLogEventXml(tree_tag, unique_id, timeStamp, logType, logText, logSource, test_result=None, log_details=None, group=None, sub_group=None)
parse_response(xml_tree, original_data)
processTimeoutAndResult(socket, timeToWait, message_sent='')
sendMsgToGUI(to_send, timeToWait=5)
sendMsgToGUIwithResponse(to_send, timeToWait=5)
send_item_to_java(s, to_send)
send_start_timeout()
send_stop_test(reason='')
send_stop_timeout()

quarchpy.disk_test.dtsGlobals module

class quarchpy.disk_test.dtsGlobals.dtsGlobals

Bases: object

GUI_TCP_IP = '127.0.0.1'
QCSVersionValid = False
choiceResponse = None
continueTest = True
guiAddress = 'localhost'
guiPort = 9921
minQCSVersion = '1.07'
qcs_dir = None
runUntilFirstFailure = False
send_to_gui = True
validVersion = True

quarchpy.disk_test.hostInformation module

Implements a cross platform system for scanning and querying system resources.

########### VERSION HISTORY ###########

06/05/2019 - Andy Norrie - First version


class quarchpy.disk_test.hostInformation.HostInformation

Bases: object

display_drives()

Function used only in the Quarchpy.run file Used to display all found drives on the system to current terminal output

Returns

N/A

get_wrapped_drive_from_choice(selection)

Returns DriveWrapper object based on identifying string passed in parameter

Parameters

selection – STR # selection passed is the identifier for the drive. # Smartctl : /dev/sda # lspci : 04:00.0 # WMIC : # LSSCSI :

Returns

DriveWrapper if device was found, else None

internalResults = {}
is_wrapped_device_present(wrapped_device)

Finds drive passed and returns it’s current link speed LSPCI devices only

Parameters

wrapped_drive – DriveWrapper

Returns

Link speed value if found else “”

return_wrapped_drive_width(wrapped_drive)

Find drive passed and return it’s current reported lane width LSPCI devices only

Parameters

wrapped_drive – DriveWrapper

Returns

Lane width if found else “”

return_wrapped_drives(drive_type=None)

Returns a list of all drives found on the system The drives are all contained in “DriveWrapper” objects

Parameters

drive_type

STRCan be used to specify the type of drive.

Leave as None will return all

Accepted Values : [ ‘lspci’, ‘*’, ‘smart’ ]

Returns

List : DriveWrapper objects

store_initial_drive_stats(drive, mapping_mode=False)

find drive passed and returns boolean if Link speed is same as expected value passed LSPCI devices only

Parameters
  • wrapped_drive – DriveWrapper

  • expected_link – Expected speed (e.g ‘16 GT/s’)

Returns

True if maintained else False

verify_wrapped_drive_width(wrapped_drive, expected_width=None)

find drive passed and returns boolean if lane width is same as expected value passed LSPCI devices only

Parameters
  • wrapped_drive – DriveWrapper

  • expected_width – Expected width (e.g ‘x2’)

Returns

True if maintained else False

quarchpy.disk_test.hotPlugTest module

quarchpy.disk_test.iometerDiskFinder module

class quarchpy.disk_test.iometerDiskFinder.iometerDiskFinder

Bases: quarchpy.disk_test.AbsDiskFinder.AbsDiskFinder

findDevices()
formatList(deviceList)
getAvailableDisks(hostDrive)
getAvailableDrives()
remove_values_from_list(the_list, val)
returnDisk()

quarchpy.disk_test.lspci module

Implements basic control over lspci utilities, so that we can identify and check the status of PCIe devices on the host system

class quarchpy.disk_test.lspci.LinuxLSPCI

Bases: quarchpy.disk_test.lspci.abstractLSPCI

getPcieDeviceDetailedInfo(deviceInfo=None, devicesToScan='all')
getPcieDeviceInfo()
getPcieDeviceList()
getPcieDevices(mappingMode, filterDrives=False)
getPcieLinkStatus(deviceStr, mappingMode)
is_admin_mode()
sortList(err, out)
class quarchpy.disk_test.lspci.WindowsLSPCI

Bases: quarchpy.disk_test.lspci.abstractLSPCI

getPcieDeviceDetailedInfo(deviceInfo=None, devicesToScan='all')
getPcieDeviceInfo()
getPcieDeviceList()
getPcieDevices(mappingMode, filterDrives=False)
getPcieLinkStatus(deviceStr, mappingMode)
is_admin_mode()
class quarchpy.disk_test.lspci.abstractLSPCI

Bases: abc.ABC

abstract getPcieDeviceDetailedInfo(deviceInfo, devicesToScan)
abstract getPcieDeviceList()
abstract getPcieLinkStatus()
abstract is_admin_mode()
sortList(err, out)
wrap_lspci_devices()

quarchpy.disk_test.powerTest module

quarchpy.disk_test.sasFuncs module

Implements basic SAS information parsing, so that we can identify and check the status of SAS/SATA devices on the host

class quarchpy.disk_test.sasFuncs.LinuxSAS

Bases: quarchpy.disk_test.sasFuncs.abstractSASDet

add_device_types(device_list)
getDictKey(iteratorValue)
getSasDeviceList()
is_admin_mode()
return_device_det_cmd()
sortList(err, out)
wrap_sas_devices()
class quarchpy.disk_test.sasFuncs.WindowsSAS

Bases: quarchpy.disk_test.sasFuncs.abstractSASDet

getSasDeviceList()
is_admin_mode()
return_device_det_cmd()
sortList(err, out)
wrap_sas_devices()
class quarchpy.disk_test.sasFuncs.abstractSASDet

Bases: abc.ABC

abstract getSasDeviceList()
abstract is_admin_mode()
sortDeviceInfo(err, out, deviceInfo, devicesToScan)
abstract sortList(err, out)
abstract wrap_sas_devices()

quarchpy.disk_test.testLine module

class quarchpy.disk_test.testLine.testLine

Bases: object

Init function taking all parameters

initFromXml(xmlTree)
parse_response(xml_tree, original_data)

Module contents