Remove test suites in systest
- These test suites are either no longer being used or covered in other
tests on the OpenBMC repository in enterprise github.
Change-Id: I396432285cc9bb551a3948725a2dae01d8fcd66a
Signed-off-by: Joy Onyerikwu <onyekachukwu.joy.onyerikwu@ibm.com>
diff --git a/systest/Generate_OS_Inventory.robot b/systest/Generate_OS_Inventory.robot
deleted file mode 100755
index ddca239..0000000
--- a/systest/Generate_OS_Inventory.robot
+++ /dev/null
@@ -1,23 +0,0 @@
-***Settings***
-Documentation This module generates an inventory file using lshw
-... commands. It will create a JSON file and a YAML file. It
-... will get the processor, memory and specified I/O devices.
-... Requires access to lshw, and json2yaml OS commands. This
-... robot file should be run as root or sudo for lshw.
-
-Library String
-Library Collections
-Library OperatingSystem
-Resource ../syslib/utils_os.robot
-
-***Variables***
-
-# Path of the JSON Inventory file.
-${json_inventory_file_path} ${EXECDIR}/os_inventory_final.json
-
-***Test Case***
-
-Create An Inventory
- [Documentation] Snapshot system inventory to a JSON file.
- [Tags] Inventory_Test
- Create JSON Inventory File ${json_inventory_file_path}
diff --git a/systest/adapter_ucode_update.robot b/systest/adapter_ucode_update.robot
deleted file mode 100644
index b54bca4..0000000
--- a/systest/adapter_ucode_update.robot
+++ /dev/null
@@ -1,106 +0,0 @@
-*** Settings ***
-
-Documentation Verify that the uCode can be updated on supported
-... Non-Volatile Memory Express (NVMe) adapters on RedHat.
-
-# TEST PARAMETERS:
-# OPENBMC_HOST The BMC host name or IP address.
-# OPENBMC_USERNAME The BMC user name.
-# OPENBMC_PASSWORD The BMC password.
-# OS_HOST The OS host name or IP address.
-# OS_USERNAME The OS user name.
-# OS_PASSWORD The OS Host password.
-# ADAPTER_UCODE_URL The url for the microcode file to be
-# loaded.
-# DEVICE NAMES A comma-seperated list containing the
-# names of devices to be upgraded
-# (e.g "nvme0n1,nvme1n1").
-#
-# Example:
-# robot -v ADAPTER_UCODE_URL:http://someurl.com/ucode/file.img
-# -v DEVICE_NAMES:nvme0n1,nvme1n1 adapter_ucode_update.robot
-
-Resource ../syslib/utils_install.robot
-
-Suite Setup Suite Setup Execution
-Test Teardown FFDC On Test Case Fail
-
-*** Variables ***
-
-
-*** Test Cases ***
-
-Load And Activate uCode On Adapters
- [Documentation] Load and activate firmware on the given adapters.
- [Tags] Load_And_Activate_uCode_On_Adapters
-
- Printn
- # Format parms.
- # Ensure that nvme (pci-e storage utility) tool exists.
- ${device_names}= Split String ${DEVICE_NAMES} ,
- OS Execute Command yes | yum install nvme-cli
- Tool Exist nvme
- # Load and activate firmware on the devices.
- :FOR ${device_name} in @{device_names}
- \ Load And Activate Firmware On Device ${device_name}
-
-
-Reboot And Verify Code Update
- [Documentation] Reboot the OS and verify that the firmware update
- ... was successful.
- [Tags] Reboot_And_Verify_Code_Update
-
- Host Reboot
- # Reboot and verify success
- ${stdout} ${stderr} ${rc} OS Execute Command
- ... nvme list | grep nvme0 | awk '{print $NF'}
- Should Contain ${image_file_name} ${stdout}
- ... msg=The code update was not successful.
-
-
-*** Keywords ***
-
-Load And Activate Firmware On Device
- [Documentation] Load and activate firmware on device specified.
- [Arguments] ${device_name} ${image_file_name}=${image_file_name}
-
- # Description of argument(s):
- # device_name The name of the NVMe device to be loaded
- # and activated (e.g. "nvme0n1").
- # image_file_name The name of the firmware image file.
-
- :FOR ${slot_id} IN RANGE 1 4
- \ Execute Commands On Slot
- \ ... ${device_name} ${slot_id} ${image_file_name}
-
-
-Execute Commands On Slot
- [Documentation] Execute load and activate commands on given slot.
- [Arguments] ${device_name} ${slot_id}
- ... ${image_file_name}=${image_file_name}
-
- # Description of argument(s):
- # device_name The name of the NVMe device to be loaded
- # and activated (e.g. "nvme0n1").
- # slot_id The NVMe device slot id to be activated
- # (e.g. "0","1", etc.).
- # image_file_name The name of the firmware image file.
-
- ${stdout} ${stderr} ${rc} OS Execute Command
- ... nvme fw-download /dev/${device_name} --fw=${image_file_name}
- Should Contain ${stdout} Firmware download success
- ... msg=${image_file_name} could not be loaded on slot:${slot}
- ${stdout} ${stderr} ${rc} OS Execute Command
- ... nvme fw-activate /dev/${device_name} -a 0 -s ${slot_id}
- Should Contain ${stdout} Success activating firmware
- ... msg=Could not activate slot:${slot_id} on ${device_name}.
-
-
-Suite Setup Execution
- [Documentation] Setup parms used in suite and download ucode file.
-
- ${stdout} ${stderr} ${rc}= OS Execute Command
- ... wget ${ADAPTER_UCODE_URL}
- ${image_dir_path_url} ${image_file_name}=
- ... Split Path ${ADAPTER_UCODE_URL}
- Set Global Variable ${image_file_name}
diff --git a/systest/io_storage_compability.robot b/systest/io_storage_compability.robot
deleted file mode 100644
index e62c14f..0000000
--- a/systest/io_storage_compability.robot
+++ /dev/null
@@ -1,60 +0,0 @@
-*** Settings ***
-Documentation Test to stress IO Storage compatibility.
-
-# Test Parameters:
-
-# OS_HOST The OS host name or IP address.
-# OS_USERNAME The OS username to login.
-# OS_PASSWORD The OS password for the OS login.
-# LOOP_COUNT The times loop will be executed delimited by user.
-
-Library ../lib/gen_print.py
-Library ../lib/gen_robot_print.py
-Resource ../syslib/utils_os.robot
-
-Suite Setup Suite Setup Execution
-Suite Teardown Suite Teardown Execution
-
-
-*** Variables ***
-${LOOP_COUNT} ${1}
-${ITERATION} ${0}
-${HTX_MDT_PROFILE} mdt.hdbuster
-
-
-*** Test Cases ***
-
-IO Storage Compatibility Stress
- [Documentation] Stress storage cards.
- [Tags] IO_Storage_Compatibility_Stress
-
- Run MDT Profile
- Print Timen Running HTX. Please wait.
- Repeat Keyword ${LOOP_COUNT} times
- ... Run Keywords
- ... Set Suite Variable ${ITERATION} ${ITERATION +1}
- ... AND Rprint Vars ITERATION
- ... AND Loop HTX
- Shutdown HTX Exerciser
-
-
-*** Keywords ***
-
-Loop HTX
- [Documentation] Run HTX for an hour and check status every 10 minutes.
- Repeat Keyword 1 hour
- ... Run Keywords Check HTX Run Status
- ... AND Sleep 10 min
-
-
-Suite Setup Execution
- [Documentation] Start setup tasks.
-
- Create Default MDT Profile
-
-
-Suite Teardown Execution
- [Documentation] Execute suite teardown tasks.
-
- Collect HTX Log Files
- FFDC On Test Case Fail
diff --git a/systest/io_storage_ucode_update.robot b/systest/io_storage_ucode_update.robot
deleted file mode 100644
index 775c9da..0000000
--- a/systest/io_storage_ucode_update.robot
+++ /dev/null
@@ -1,72 +0,0 @@
-*** Settings ***
-Documentation Update internal storage devices uCode for solid-state
-... drives (SSDs) and hard disk drives (HDDs).
-
-# TEST PARAMETERS:
-# OPENBMC_HOST The BMC host name or IP address.
-# OPENBMC_PASSWORD The BMC password.
-# OPENBMC_USERNAME The BMC user name.
-# OS_HOST The OS host name or IP address.
-# OS_USERNAME The OS user name.
-# OS_PASSWORD The OS password.
-# SDA_UCODE_FILE_PATH The path of the ucode file, on the OS
-# for the sda disk (e.g "Code_File.bin").
-# SDA_DESIRED_LEVEL The expected firmware level for sda
-# after the firmware update (e.g "MJ06").
-# SDB_UCODE_FILE_PATH The path of the ucode file, on the OS
-# for the sdb disk (e.g "Code_File.bin").
-# SDB_DESIRED_LEVEL The expected firmware level for sdb
-# after the firmware update (e.g "MK06").
-
-Resource ../syslib/utils_os.robot
-Library ../lib/gen_robot_valid.py
-Library ../lib/firmware_utils.py
-
-
-Test Setup Test Setup Execution
-Test Teardown FFDC On Test Case Fail
-
-
-*** Variables ***
-
-
-*** Test Cases ***
-
-Load Microcode On Hard Disks
- [Documentation] Load the microcode onto the hard disks.
- [Tags] Load_Microcode_On_Hard_Disks
-
- # Load firmware.
- ${sda_update_cmd}= Catenate hdparm --yes-i-know-what-i-am-doing
- ... --please-destroy-my-drive --fwdownload ${SDA_UCODE_FILE_PATH}
- ... /dev/sda
- ${sdb_update_cmd}= Catenate hdparm --yes-i-know-what-i-am-doing
- ... --please-destroy-my-drive --fwdownload ${SDB_UCODE_FILE_PATH}
- ... /dev/sdb
-
- OS Execute Command ${sda_update_cmd}
- OS Execute Command ${sdb_update_cmd}
-
-
-Reboot OS And Verify Code Update
- [Documentation] Reboot the OS and verify that the firmware revision
- ... now reflects the desired levels.
- [Tags] Reboot_OS_And_Verify_Code_Update
-
- Host Reboot
- &{sdb_info}= Get Hard Disk Info /dev/sdb
- &{sda_info}= Get Hard Disk Info /dev/sda
- Should Be Equal ${sdb_info['firmware_revision']}
- ... ${SDB_DESIRED_LEVEL} msg=Update failed for SDB.
- Should Be Equal ${sda_info['firmware_revision']}
- ... ${SDA_DESIRED_LEVEL} msg=Update failed for SDA.
-
-
-*** Keywords ***
-Test Setup Execution
- [Documentation] Do initial setup tasks.
-
- Rvalid Value SDB_DESIRED_LEVEL
- Rvalid Value SDA_DESIRED_LEVEL
- Rvalid Value SDB_UCODE_FILE_PATH
- Rvalid Value SDA_UCODE_FILE_PATH
\ No newline at end of file
diff --git a/systest/os_install_boot_stress.robot b/systest/os_install_boot_stress.robot
deleted file mode 100644
index e3c1f08..0000000
--- a/systest/os_install_boot_stress.robot
+++ /dev/null
@@ -1,78 +0,0 @@
-*** Settings ***
-
-Documentation Install RHEL OS and run an HTX bootme.
-
-# TEST PARAMETERS:
-# OPENBMC_HOST The BMC host name or IP address.
-# OPENBMC_USERNAME The BMC user name.
-# OPENBMC_PASSWORD The BMC password.
-# OS_HOST The OS host name or IP address.
-# OS_USERNAME The OS Host user name.
-# OS_PASSWORD The OS Host password.
-# FTP_USERNAME The FTP username.
-# FTP_PASSWORD The FTP password.
-# OS_REPO_URL The URL for the OS to be installed.
-# (e.g "ftp.com/redhat/RHEL/Server/os/").
-# Optional Parameters:
-# HTX_DURATION The duration of the HTX run (e.g 2h,3m)
-# Defaults to 2h.
-# HTX_INTERVAL The time delay between checks of HTX
-# status, defaults to 10m.
-# HTX_LOOPS The number of times to loop through
-# htx, defualts to 2.
-# DEBUG If this is set, extra debug information
-# will be printed out, defaults to 1.
-
-Resource ../syslib/utils_install.robot
-
-Suite Teardown Collect HTX Log Files
-
-*** Variables ***
-${HTX_DURATION} 2h
-${HTX_INTERVAL} 10m
-${HTX_LOOPS} 2
-${DEBUG} 1
-
-
-*** Test Cases ***
-OS Install
- [Documentation] Install the given OS through the network.
- [Tags] OS_Install
-
- ${cmd}= Catenate sol_utils.tcl --os_host=${OS_HOST}
- ... --os_password=${OS_PASSWORD} --os_username=${OS_USERNAME}
- ... --openbmc_host=${OPENBMC_HOST}
- ... --openbmc_password=${OPENBMC_PASSWORD}
- ... --openbmc_username=${OPENBMC_USERNAME}
- ... --proc_name=install_os --debug=${DEBUG}
- ... --ftp_username=${FTP_USERNAME} --ftp_password=${FTP_PASSWORD}
- ... --os_repo_url=${os_repo_url}
- ${rc} ${out_buf}= Cmd Fnc ${cmd}
-
-
- Configure Yum Repository For FTP3
- [Documentation] Configure Yum repository for ftp3 server on pegas.
- ... This is needed for HTX to be installed.
- [Tags] Configure_Yum_Repository_For_FTP3
-
- ${cmd}= Catenate
- ... printf "[pegas-ga-ftp3-server]\nname=pegas-ga-ftp3-server
- ... \nbaseurl=ftp://${FTP_USERNAME}:${FTP_PASSWORD}@${OS_REPO_URL}
- ... \nenabled=1\ngpgcheck=0" > /etc/yum.repos.d/pegas_ga.repo
- ${stdout} ${stderr} ${rc}= OS Execute Command ${cmd}
- ${stdout} ${stderr} ${rc}= OS Execute Command yum update
- Should Be Empty ${stderr}
- ... msg=Yum update returned an error. Verify ftp credentials.
-
-
-Install HTX And Run Bootme
- [Documentation] Install HTX and start extended bootme run.
- [Tags] Install_HTX_And_Run_Bootme
-
- Install HTX On RedHat ${htx_rpm}
- Login To OS
- Repeat Keyword ${HTX_LOOPS} times Run Keywords
- ... Run MDT Profile
- ... AND Repeat Keyword ${HTX_DURATION}
- ... Check HTX Run Status ${HTX_INTERVAL}
- ... AND Shutdown HTX Exerciser
diff --git a/systest/test_io_eeh.robot b/systest/test_io_eeh.robot
deleted file mode 100644
index b5a18f7..0000000
--- a/systest/test_io_eeh.robot
+++ /dev/null
@@ -1,277 +0,0 @@
-*** Settings ***
-Documentation Verify the EEH recovery on the controllers connected to the
-... PCI. This injects an EEH error to every controller installed on the
-... server.
-
-# Test Parameters:
-
-# TYPE EEH error function to use.
-# OPENBMC_HOST The BMC host name or IP address.
-# OS_HOST The OS host name or IP Address.
-# OS_USERNAME The OS login userid (usually root).
-# OS_PASSWORD The password for the OS login.
-# HTX_DURATION Duration of HTX run (e.g. "8 hours", "30 minutes").
-# HTX_INTERVAL The time delay between consecutive checks of HTX
-# status, for example, 30s.
-# In summary: Run HTX for $HTX_DURATION, checking
-# every $HTX_INTERVAL.
-
-# The injection command:
-# echo <pe_num>:<mode>:<type>:<address>:<mask> > /sys/kernel/debug/powerpc/PCIxxxx/err_injct
-# Input arguments to injection command:
-# pe_num: Determined from the output of
-# 'cat /sys/bus/pci/devices/xxxx:xx:xx.x/eeh_pe_config_addr'
-# where the xxxx.xx.xx.x is the PCI location of the device you want.
-# mode: 0 for 32-bit BARs and 64-bit non-prefetchable BARs
-# 1 for 64-bit prefetchable BARs
-# type: Error function to use:
-# 0 to inject on an MMIO load
-# 4 to inject on a config load--Not recommended for standard
-# injection trials.
-# 6 to inject on an MMIO writes
-# 10 to inject on a CFG write
-# address: If you do not care to specify which endpoint under the
-# slot is to be frozen, use a value of '0'.
-# mask: If you do not care to specify which endpoint under the
-# slot is to be frozen, use a value of '0'.
-# xxxx: The PCI domain location of the device.
-
-# Example:
-# echo 5:0:6:3fe280810000:fffffffffffff800 > /sys/kernel/debug/powerpc/PCI0005/err_injct
-# Expected output:
-# HTX Runs mdt.hdbuster or net.mdt and doesn't log errors after error injections.
-
-# Glossary:
-# EEH:
-# Enhanced I/O Error Handling is an error-recovery mechanism for errors that
-# occur during load and store operations on the PCI bus.
-# MDT:
-# Master device table is a collection of hardware devices on the system for
-# which HTX exercisers can be run.
-# mdt.hdbuster:
-# MDT for disk storage device testing. Uses 0s and FFs for data patterns.
-# net.mdt:
-# MDT used to test network adapters.
-# HTX error log file /tmp/htxerr
-# Records all the errors that occur. If there's no error during the test, it
-# should be empty.
-# TODO: Check if monitoring dmesg entries adds value.
-
-Library SSHLibrary
-Library String
-Library ../lib/bmc_ssh_utils.py
-Resource ../lib/resource.robot
-Resource ../syslib/utils_os.robot
-
-Suite Setup Suite Setup Execution
-Suite Teardown Collect HTX Log Files
-Test Teardown FFDC On Test Case Fail
-
-*** Variables ***
-${HTX_DURATION} 8 horus
-${HTX_INTERVAL} 15 minutes
-${TYPE} 0
-
-*** Test Cases ***
-Test Integrated IO Adapters EEH
- [Documentation] Inject EEH errors in every integrated ethernet controller
- ... and check if errors are logged.
- [Tags] Test_IO_Adapters_EEH
-
- # Setting HTX_MDT_PROFILE to be used in 'Run MDT Profile' keyword
- Set Suite Variable ${HTX_MDT_PROFILE} net.mdt
- # Setting lspci_cmd to be used by 'Get PCI' keyword.
- Set Test Variable ${lspci_cmd} lspci -D | grep "Ethernet controller"
- @{pci_list}= Get PCI
- @{pci_list}= Split Integrated Or External PCI ${TRUE} ${pci_list}
- #Preconfigure Net MDT
- Run MDT Profile
- Repeat Keyword ${HTX_DURATION} Cycle Through PCIs ${pci_list}
- Shutdown HTX Exerciser
-
-Test External IO Adapters EEH
- [Documentation] Inject EEH errors in every external ethernet controller
- ... and check if errors are logged.
- [Tags] Test_IO_Adapters_EEH
-
- # Setting HTX_MDT_PROFILE to be used in 'Run MDT Profile' keyword
- Set Suite Variable ${HTX_MDT_PROFILE} net.mdt
- # Setting lspci_cmd to be used by 'Get PCI' keyword.
- Set Test Variable ${lspci_cmd} lspci -D | grep "Ethernet controller"
- @{pci_list}= Get PCI
- @{pci_list}= Split Integrated Or External PCI ${FALSE} ${pci_list}
- Preconfigure Net MDT
- Run MDT Profile
- Repeat Keyword ${HTX_DURATION} Cycle Through PCIs ${pci_list}
- Shutdown HTX Exerciser
-
-Test IO Storage EEH
- [Documentation] Inject EEH Errors and check if errors are logged in htx.
- [Tags] Test_IO_Storage_EEH
-
- # Setting HTX_MDT_PROFILE to be used in 'Run MDT Profile' keyword
- Set Suite Variable ${HTX_MDT_PROFILE} mdt.hdbuster children=true
- # Setting lspci_cmd to be used by 'Get PCI' keyword.
- Set Test Variable ${lspci_cmd} lspci -D | grep Marvell
- # Setting pci_list to be used in 'Cycle Through PCIs' keyword
- @{pci_list}= Get PCI
- Set Test Variable @{pci_list}
- Run MDT Profile
- Repeat Keyword ${HTX_DURATION} Cycle Through PCIs ${pci_list}
- Shutdown HTX Exerciser
-
-*** Keywords ***
-Cycle Through PCIs
- [Documentation] Run a cycle to make error injections to every PCI
- ... in the pci_list.
- [Arguments] ${pci_list}=${EMPTY}
- # Descroption of argument(s):
- # pci_list A list that contains the PCIs selected (integrated/external).
- # Every object in the list is the PCI address as domain number
- # (0 to ffff), bus (0 to ff), slot (0 to 1f) and function
- # (0 to 7). (e.g. "0005:01:00.1").
-
- :FOR ${pci} IN @{pci_list}
- \ Inject EEH Error ${pci}
- \ Check HTX Run Status
- \ Run Key U sleep \ ${HTX_INTERVAL}
-
-Preconfigure Net MDT
- [Documentation] Run build_net to preconfigure the interfaces to be
- ... injected with the EEH error.
-
- OS Execute Command build_net help y y
- ${output} ${stderr} ${rc}= OS Execute Command
- ... pingum | egrep "All networks ping Ok"
- Should Contain ${output} All networks ping Ok
-
-Inject EEH Error
- [Documentation] Build and inject the EEH error command.
- [Arguments] ${pci}=${EMPTY}
- # Description of argument(s):
- # pci PCI address as domain number (0 to ffff), bus (0 to ff),
- # slot (0 to 1f) and function (0 to 7).
- # (e.g. "0000:00:1f.2").
-
- ${sub_cmd}= Make Injection Command ${pci}
- ${pci}= Fetch From Left ${pci} :
- ${cmd}= Catenate echo ${sub_cmd} >
- ... /sys/kernel/debug/powerpc/PCI${pci}/err_injct_inboundA
- ${output} ${stderr} ${rc}= OS Execute Command ${cmd}
-
-Get PCI
- [Documentation] Obtain the PCI IDs for every ethernet controller.
- ${output} ${stderr} ${rc}= OS Execute Command
- ... ${lspci_cmd} | cut -d " " -f1
- @{pci_list}= Split To Lines ${output}
- [Return] @{pci_list}
-
-Split Integrated Or External PCI
- [Documentation] Separate a list of internal or external PCIs according to
- ... the test case.
- [Arguments] ${integrated}=${TRUE} ${pci_list}=${EMPTY}
- # Description of argument(s):
- # integrated Boolean variable to determine if the adapters are external
- # or integrated to the system.
- # tmp_pci_list List of PCIs (e.g. ["0000:00:00.0", "0001:00:00.0"]).
-
- @{new_pci_list}= Create List
- :FOR ${pci} IN @{pci_list}
- \ ${output} ${stderr} ${rc}= OS Execute Command
- ... lscfg -vl ${pci} | grep "Location Code"
- \ ${status} ${err_result}= Run Keyword And Ignore Error
- ... Should Contain ${output} SLOT
- \ Run Keyword If '${status}' == 'PASS' and '${integrated}' == '${FALSE}'
- ... Append To List ${new_pci_list} ${pci}
- ... ELSE IF '${status}' == 'FAIL' and '${integrated}' == '${TRUE}'
- ... Append To List ${new_pci_list} ${pci}
- [Return] ${new_pci_list}
-
-Make Injection Command
- [Documentation] Create the string that will inject the EEH error.
- [Tags] Create_Injection_Command
- [Arguments] ${pci}=${EMPTY}
- # Description of argument(s):
- # pci PCI address as domain number (0 to ffff), bus (0 to ff),
- # slot (0 to 1f) and function (0 to 7).
- # (e.g. "0000:00:1f.2").
-
- ${pe_num}= Get PE Num ${pci}
- ${mode}= Get Mode ${pci}
- ${address}= Get Address ${pci}
- ${mask}= Get Mask ${pci}
- ${result}= Catenate SEPARATOR=:
- ... ${pe_num} ${mode} ${TYPE} ${address} ${mask}
- [Return] ${result}
-
-Get PE Num
- [Documentation] Return the PE configuration address of the PCI sent.
- [Tags] Get_PE_Number
- [Arguments] ${pci}=${EMPTY}
- # Description of argument(s):
- # pci PCI address as domain number (0 to ffff), bus (0 to ff),
- # slot (0 to 1f) and function (0 to 7).
- # (e.g. "0000:00:1f.2").
-
- ${output} ${stderr} ${rc}= OS Execute Command
- ... cut -d "x" -f2 /sys/bus/pci/devices/${pci}/eeh_pe_config_addr
- [Return] ${output}
-
-Get Mode
- [Documentation] Return the "mode" field value.
- [Tags] Get_Mode
- [Arguments] ${pci}=${EMPTY}
- # Description of argument(s):
- # pci PCI address as domain number (0 to ffff), bus (0 to ff),
- # slot (0 to 1f) and function (0 to 7).
- # (e.g. "0000:00:1f.2").
-
- ${cmd_buf}= Catenate lspci -bvs ${pci} | grep "Memory at" |
- ... grep "64-bit" | wc -l
- ${output} ${stderr} ${rc}= OS Execute Command ${cmd_buf}
- ${mode}= Set Variable If '${output}'=='0' 0 1
- [Return] ${mode}
-
-Get Address
- [Documentation] Obtain the PCI address.
- [Arguments] ${pci}=${EMPTY}
- # Description of argument(s):
- # pci PCI address as domain number (0 to ffff), bus (0 to ff),
- # slot (0 to 1f) and function (0 to 7).
- # (e.g. "0000:00:1f.2").
-
- ${cmd_buf}= Catenate lspci -vv -s ${pci} | grep "Memory at"
- ... | cut -d " " -f5 | head -n 1
- ${output} ${stderr} ${rc}= OS Execute Command ${cmd_buf}
- [Return] ${output}
-
-Get Mask
- [Documentation] Return the selected PCI mask.
- [Arguments] ${pci}=${EMPTY}
- # Description of argument(s):
- # pci PCI address as domain number (0 to ffff), bus (0 to ff),
- # slot (0 to 1f) and function (0 to 7).
- # (e.g. "0000:00:1f.2").
-
- ${cmd_buf}= Catenate lspci -vv -s ${pci} | grep "Memory at"
- ... | head -n 1 | cut -d "=" -f2
- ${stdout} ${stderr} ${rc}= OS Execute Command ${cmd_buf}
- ${sze}= Get Substring ${stdout} -2 -1
- ${size}= Get Substring ${stdout} 0 -2
- ${size}= Convert To Integer ${size}
- ${size}= Run Keyword If '${sze}' == 'M'
- ... Evaluate ${size}*1024*1024
- ... ELSE IF '${sze}' == 'K'
- ... Evaluate ${size}*1024
- Log To Console ${size}
- ${size}= Convert To Hex ${size}
- ${mask}= Evaluate "{:f>16}".format(${size})
- [Return] ${mask}
-
-Suite Setup Execution
- [Documentation] Do suite setup tasks.
-
- Boot To OS
- Tool Exist lspci
- Tool Exist htxcmdline
- Create Default MDT Profile
\ No newline at end of file
diff --git a/systest/test_io_storage_eeh.robot b/systest/test_io_storage_eeh.robot
deleted file mode 100644
index c2086e7..0000000
--- a/systest/test_io_storage_eeh.robot
+++ /dev/null
@@ -1,182 +0,0 @@
-*** Settings ***
-Documentation Verify EEH recovery on the integrated storage controller.
-Library SSHLibrary
-Library String
-Library ../lib/bmc_ssh_utils.py
-Resource ../lib/resource.robot
-Resource ../syslib/utils_os.robot
-
-# Test Parameters:
-# TYPE EEH error function to use, default is 4.
-# OPENBMC_HOST The BMC host name or IP address.
-# OS_HOST The OS host name or IP Address.
-# OS_USERNAME The OS login userid (usually root).
-# OS_PASSWORD The password for the OS login.
-# HTX_DURATION Duration of HTX run, for example, 8 hours, or
-# 30 minutes.
-# HTX_INTERVAL The time delay between consecutive checks of HTX
-# status, for example, 30s.
-# In summary: Run HTX for $HTX_DURATION, checking
-# every $HTX_INTERVAL.
-# This test case verifies the correct operation of EEH on the integrated
-# storage controller. It should be verified with all supported distros.
-# The injection command:
-# echo <pe_num>:<mode>:<type>:<address>:<mask> > /sys/kernel/debug/powerpc/PCIxxxx/err_injct
-# Input arguments to injection command:
-# pe_num: determined from the output of
-# 'cat /sys/bus/pci/devices/xxxx:xx:xx.x/eeh_pe_config_addr'
-# where the xxxx.xx.xx.x is the PCI location of the device you want.
-# mode: 0 for 32-bit BARs and 64-bit non-prefetchable BARs
-# 1 for 64-bit prefetchable BARs
-# type: error function to use:
-# 0 to inject on an MMIO load
-# 4 to inject on a config load--Not recommended for standard
-# injection trials.
-# 6 to inject on an MMIO writes
-# 10 to inject on a CFG write
-# address, mask: if you do not care to specify which endpoint under the
-# slot is to be frozen, use a value of '0' for both the address and mask.
-# xxxx: the PCI domain location of the device.
-# Example:
-# echo 5:0:6:3fe280810000:fffffffffffff800 > /sys/kernel/debug/powerpc/PCI0005/err_injct
-# Expected output:
-# HTX Runs mdt.hdbuster and doesn't log errors after error injections.
-# Glossary:
-# EEH:
-# Enhanced I/O Error Handling is an error-recovery mechanism for errors that
-# occur during load and store operations on the PCI bus.
-# MDT:
-# Master device table is a collection of hardware devices on the system for
-# which HTX exercisers can be run.
-# mdt.hdbuster:
-# MDT for disk storage device testing. Uses 0s and FFs for data patterns.
-# HTX error log file /tmp/htxerr
-# Records all the errors that occur. If there's no error during the test, it
-# should be empty.
-# TODO: Check if monitoring dmesg entries adds value.
-
-Suite Setup Suite Setup Execution
-Suite Teardown Collect HTX Log Files
-Test Teardown FFDC On Test Case Fail
-
-*** Variables ***
-${HTX_DURATION} 4 hours
-${HTX_INTERVAL} 15 minutes
-${TYPE} 4
-${lspci_cmd} lspci -D | grep Marvell
-
-*** Test Cases ***
-Test EEH Operation
- [Documentation] Inject EEH Errors and check if errors are logged in htx.
- [Tags] Test_EEH_Operation
-
- Run MDT Profile
- Repeat Keyword ${HTX_DURATION} Run Keywords
- ... Inject EEH Error AND Check HTX Run Status AND Sleep ${HTX_INTERVAL}
- Shutdown HTX Exerciser
-
-*** Keywords ***
-Inject EEH Error
- [Documentation] Inject EEH error to a PE (Partitionable Endpoint).
-
- Log Building the injection command.
- ${pci}= Get PCI
- ${sub_cmd}= Make Injection Command ${pci}
- ${pci}= Fetch From Left ${pci} :
- ${cmd}= Convert To String
- ... echo ${sub_cmd} > /sys/kernel/debug/powerpc/PCI${pci}/err_injct
- Log Proceeding with injection:\n${cmd}\n
- ${output} ${stderr} ${rc}= OS Execute Command ${cmd}
- Log ${output}
-
-Get PCI
- [Documentation] Get the PCI ID for the Marvell adapter.
-
- ${output} ${stderr} ${rc}= OS Execute Command
- ... ${lspci_cmd} | cut -d " " -f1 | head -n 1
- [Return] ${output}
-
-Get Pe Num
- [Documentation] Get the PE (partitionable endpoint) configuration
- ... address for the specified PCI.
- [Arguments] ${pci}=${EMPTY}
- # Description of argument(s):
- # pci PCI address as domain number (0 to ffff), bus (0 to ff),
- # slot (0 to 1f) and function (0 to 7).
- # (e.g. "0000:00:1f.2").
-
- ${output} ${stderr} ${rc}= OS Execute Command
- ... cut -d "x" -f2 /sys/bus/pci/devices/${pci}/eeh_pe_config_addr
- [Return] ${output}
-
-Get Mode
- [Documentation] Determine the 'mode' field value, by checking the device's
- ... memory information.
- [Arguments] ${pci}=${EMPTY}
- # Description of argument(s):
- # pci PCI address as domain number (0 to ffff), bus (0 to ff),
- # slot (0 to 1f) and function (0 to 7).
- # (e.g. "0000:00:1f.2").
-
- ${cmd_buf}= Catenate lspci -bvs ${pci} | grep "Memory at " |
- ... grep "64-bit, prefetchable" | wc -l
- ${output} ${stderr} ${rc}= OS Execute Command ${cmd_buf}
- ${mode}= Set Variable If '${output}' == '0' 0 1
- [Return] ${mode}
-
-Get Address
- [Documentation] Determine the PE address field.
- [Arguments] ${pci}=${EMPTY}
- # Description of argument(s):
- # pci PCI address as domain number (0 to ffff), bus (0 to ff),
- # slot (0 to 1f) and function (0 to 7).
- # (e.g. "0000:00:1f.2").
-
- ${output} ${stderr} ${rc}= OS Execute Command
- ... lspci -vv -s ${pci} | grep "Memory at " | cut -d " " -f5 | head -n 1
- [Return] ${output}
-
-Get Mask
- [Documentation] Determine the adress' mask field.
- [Arguments] ${pci}=${EMPTY}
- # Description of argument(s):
- # pci PCI address as domain number (0 to ffff), bus (0 to ff),
- # slot (0 to 1f) and function (0 to 7).
- # (e.g. "0000:00:1f.2").
-
- ${output} ${stderr} ${rc}= OS Execute Command
- ... lspci -vv -s ${pci} | grep "Memory at" | head -n 1
- ${size_left}= Fetch From Right ${output} size=
- ${size_right}= Fetch From Left ${size_left} K
- ${size1}= Convert To Integer ${size_right}
- ${size}= Evaluate ${size1}*1024
- ${size_hex}= Convert To Hex ${size}
- ${mask}= Evaluate "{:f>16}".format(${size_hex})
- [Return] ${mask}
-
-Make Injection Command
- [Documentation] Concatenate the fields to form a valid injection command.
- [Arguments] ${pci}=${EMPTY}
- # Description of argument(s):
- # pci PCI address as domain number (0 to ffff), bus (0 to ff),
- # slot (0 to 1f) and function (0 to 7).
- # (e.g. "0000:00:1f.2").
-
- ${pe_num}= Get Pe Num ${pci}
- ${mode}= Get Mode ${pci}
- ${addr}= Get Address ${pci}
- ${mask}= Get Mask ${pci}
- ${res}= Catenate SEPARATOR=:
- ... ${pe_num} ${mode} ${TYPE} ${addr} ${mask}
- [Return] ${res}
-
-Suite Setup Execution
- [Documentation] Do suite setup tasks.
-
- Boot To OS
- Tool Exist lspci
- Tool Exist htxcmdline
- # HTX_MDT_PROFILE: MDT to use in the 'Run MDT Profile' external keyword.
- # It's set to mdt.hdbuster in the Suite Setup, so it's not a -v argument.
- Set Suite Variable ${HTX_MDT_PROFILE} mdt.hdbuster children=true
- Create Default MDT Profile
diff --git a/systest/test_system_hardware_ranges.robot b/systest/test_system_hardware_ranges.robot
deleted file mode 100644
index 7e8e929..0000000
--- a/systest/test_system_hardware_ranges.robot
+++ /dev/null
@@ -1,179 +0,0 @@
-*** Settings ***
-
-Documentation Verify that both the air and water cooled systems are
-... operating in the allowable ranges for fans, power and temperature
-... during idle and stress up at the OS.
-
-
-# TEST PARAMETERS:
-# OPENBMC_HOST The BMC host name or IP address.
-# OPENBMC_USERNAME The BMC user name.
-# OPENBMC_PASSWORD The BMC password.
-# OS_HOST The OS host name or IP address.
-# OS_USERNAME The OS user name.
-# OS_PASSWORD The OS Host password.
-# HTX_DURATION Duration of the HTX run (e.g 1h, 20m).
-# HTX_INTERVAL The time delay between consecutive
-# checks for temperature, fan and power
-# ranges.
-# HTX_MDT_PROFILE The MDT Profile to run.
-#
-# The parameters below should be comma-separated lists,
-# (e.g "500,800"). See default ranges below.
-# These ranges can vary based on the type of system under test.
-#
-# FAN_SPEED_RANGE_IDLE The allowable range of fan speeds,
-# expressed as RPMs, when the machine is
-# at an idle state.
-# FAN_SPEED_RANGE_STRESS The allowable range of fan speeds,
-# expressed as RPMs, when the machine is
-# at a stressed state.
-# TEMPERATURE_RANGE_IDLE The allowed range for temperature,
-# expressed as Celsius degrees, when
-# the machine is at an idle state.
-# TEMPERATURE_RANGE_STRESS The allowable range for temperature,
-# expressed as Celsius degrees, when
-# the machine is at a stressed state.
-# POWER_RANGE_IDLE The allowable range for power, expressed
-# in Watts, while the machine is at an
-# idle state.
-# POWER_RANGE_STRESS The allowable range for power, expressed
-# in Watts, while the machine is at a
-# stressed state.
-
-
-Resource ../syslib/utils_os.robot
-Resource ../lib/fan_utils.robot
-Library ../lib/gen_robot_valid.py
-Suite Setup Suite Setup Execution
-Test Teardown FFDC On Test Case Fail
-Suite Teardown Shutdown HTX Exerciser
-
-*** Variables ***
-# Default Ranges.
-@{FAN_SPEED_RANGE_IDLE}= 0 6000
-@{FAN_SPEED_RANGE_STRESS}= 3000 8000
-@{TEMPERATURE_RANGE_IDLE}= 30 45
-@{TEMPERATURE_RANGE_STRESS}= 35 100
-@{POWER_RANGE_IDLE}= 15 60
-@{POWER_RANGE_STRESS}= 30 350
-
-
-*** Test Cases ***
-
-Verify Fan Speeds During Idle State
- [Documentation] Verify the fan speeds are within acceptable range
- ... while the system is idle.
- [Tags] Verify_Fan_Speeds_During_Idle_State
-
- Verify Fan Speeds ${FAN_SPEED_RANGE_IDLE}
-
-
-Verify Temperature During Idle State
- [Documentation] Verify the temperature values are within acceptable
- ... range while the system is idle.
- [Tags] Verify_Temperature_During_Idle_State
-
- Verify Temperatures ${TEMPERATURE_RANGE_IDLE}
-
-
-Verify Power During Idle State
- [Documentation] Verify the power values are within acceptable range
- ... while the system is idle.
- [Tags] Verify_Power_During_Idle_State
-
- Verify Power Values ${POWER_RANGE_IDLE}
-
-
-Test Hardware Limits During Stress
- [Documentation] Verify the hardware under stress is within
- ... acceptable range.
- [Tags] Test_Hardware_Limits_During_Stress
-
- # Run HTX and verify, within intervals, that the hardware ranges
- # are within the allowable ranges.
- Run MDT Profile
- Repeat Keyword ${HTX_DURATION} Run Keywords
- ... Verify Fan Speeds ${FAN_SPEED_RANGE_STRESS}
- ... AND Verify Temperatures ${TEMPERATURE_RANGE_STRESS}
- ... AND Verify Power Values ${POWER_RANGE_STRESS}
- ... AND Run Key Sleep \ ${HTX_INTERVAL}
-
-
-*** Keywords ***
-
-Verify Fan Speeds
- [Documentation] Verify that the fan speeds are within the required
- ... range.
- [Arguments] ${range}
-
- # Description of argument(s):
- # range A 2-element list comprised of the lower
- # and upper values which constitute the
- # valid range for the fan speeds.
- # (e.g [500,800]).
-
- # Get the fans with the lowest and highest fan speeds. Verify that
- # the speeds are within the proper range.
- ${fan_objects}= Read Properties ${SENSORS_URI}fan_tach/enumerate
- ${fan_speeds}= Evaluate
- ... [ x['Value'] for x in $fan_objects.values() ]
- ${max_fan_speed} Evaluate max(map(int, $fan_speeds))
- ${min_fan_speed} Evaluate min(map(int, $fan_speeds))
- Rvalid Range max_fan_speed ${range}
- Rvalid Range min_fan_speed ${range}
-
-
-Verify Temperatures
- [Documentation] Verify that the temperature values are within the
- ... required range.
- [Arguments] ${range}
-
- # Description of argument(s):
- # range The allowable range for the temperature,
- # values (e.g [20,60]).
-
- # Get the lowest and highest temperatures for GPUs, verify
- # that it is within the proper range.
- ${gpu_max_temperature}= Get GPU Max Temperature
- ${gpu_min_temperature}= Get GPU Min Temperature
- Rvalid Range gpu_max_temperature ${range}
- Rvalid Range gpu_min_temperature ${range}
- # Verify for CPUs.
- ${cpu_highest_temp}= Get CPU Max Temperature
- ${cpu_lowest_temp}= Get CPU Min Temperature
- Rvalid Range cpu_highest_temp ${range}
- Rvalid Range cpu_lowest_temp ${range}
-
-
-Verify Power Values
- [Documentation] Verify that the power values for GPUs and CPUs
- ... are within the required range.
- [Arguments] ${range}
-
- # Description of argument(s):
- # range The allowable range for power values,
- # (e.g [15,30]).
-
- ${gpu_max}= Get GPU Max Power
- ${gpu_min}= Get GPU Min Power
- ${gpu_max_power}= Evaluate int(round(${gpu_max}))
- ${gpu_min_power}= Evaluate int(round(${gpu_min}))
- Rvalid Range gpu_max_power ${range}
- Rvalid Range gpu_min_power ${range}
-
- ${p0}= Read Properties ${SENSORS_URI}power/p0_power
- ${p1}= Read Properties ${SENSORS_URI}power/p1_power
- # The scaling factor for fans is -6 for CPU power values.
- ${p0_value}= Evaluate ${p0}['Value']/1000000
- ${p1_value}= Evaluate ${p1}['Value']/1000000
- Rvalid Range p0_value ${range}
- Rvalid Range p1_value ${range}
-
-
-Suite Setup Execution
- [Documentation] Do suite setup tasks.
-
- REST Power On stack_mode=skip
- ${htx_running}= Is HTX Running
- Should Not Be True ${htx_running} msg=HTX needs to be shutdown.
\ No newline at end of file
diff --git a/systest/verify_usb_ports.robot b/systest/verify_usb_ports.robot
deleted file mode 100644
index 86581f4..0000000
--- a/systest/verify_usb_ports.robot
+++ /dev/null
@@ -1,81 +0,0 @@
-*** Settings ***
-
-Documentation Verify that connected USB device can be detected by the
-... OS and exercised in HTX or written to.
-
-# TEST PARAMETERS:
-# OPENBMC_HOST The BMC host name or IP address.
-# OPENBMC_USERNAME The BMC user name.
-# OPENBMC_PASSWORD The BMC password.
-# OS_HOST The OS host name or IP address.
-# OS_USERNAME The OS user name.
-# OS_PASSWORD The OS Host password.
-# USB_DEVICE_NAME The USB device to be used in test.
-# TIMEOUT Amount of time to wait for the device
-# being exercised to reach 1 cycle.
-
-Resource ../syslib/utils_os.robot
-
-Test Setup Test Setup Execution
-Test Teardown Test Teardown Execution
-
-*** Variables ***
-
-
-*** Test Cases ***
-
-Verify Write To USB Device
- [Documentation] Verify that the given device can be written to.
- [Tags] Verify_Write_To_USB_Device
-
- OS Execute Command mkdir -p /mount-dev/
- OS Execute Command mount -rw /dev/${USB_DEVICE_NAME} /mount-dev/
- ${stdout} ${stderr} ${rc}= OS Execute Command
- ... echo "Write to file" /mount-dev/file.txt ignore_err=1
- Should Be Empty ${stderr} msg=Could not write to USB device.
-
-
-Exercise USB Device
- [Documentation] Verify that the given device can be exercised with
- ... HTX.
- [Tags] Exercise_USB_Device
-
- Run MDT Profile
- # If the htxcmdline -status does not include this device then it is
- # not a device that can be exercised with HTX, fail.
- ${stdout} ${stderr} ${rc} OS Execute Command
- ... htxcmdline -status | grep ${USB_DEVICE_NAME}
-
- Wait Until Keyword Succeeds
- ... ${TIMEOUT} 10s Verify Device Cycle Completion
-
-
-*** Keywords ***
-
-Verify Device Cycle Completion
- [Documentation] Verify that the USB device has completed at least
- ... one HTX cycle.
-
- # Grep htxcmdline -status to get the device's cycle count.
- ${stdout} ${stderr} ${rc}= OS Execute Command
- ... htxcmdline -status | grep ${USB_DEVICE_NAME} | awk '{print $5}'
- Should Not Be Empty ${stdout} msg=Device is not running HTX
- Run Keyword If ${stdout} < 1
- ... FAIL msg=Device has not completed at least one cycle.
-
-
-Test Setup Execution
- [Documentation] Do initial test setup task(s).
-
- OS Execute Command ls /dev/${USB_DEVICE_NAME}
-
-
-Test Teardown Execution
- [Documentation] Perform post test case tasks.
-
- # Even if the tests fails, device should be unmounted and HTX idle.
- Run Keyword If '${TEST_NAME}' == 'Verify Write To USB Device'
- ... OS Execute Command umount /mount-dev/
- ... ELSE
- ... Shutdown HTX Exerciser
- FFDC On Test Case Fail
\ No newline at end of file