Remove legacy test suites and move the SLP suite
Changes:
- As part of the legacy test cleanup, REST test suites
are removed and the SLP suite moved to security.
Tested:
- NA
Change-Id: I0a44708981332b6cca35b7cef7480de8e8e68485
Signed-off-by: George Keishing <gkeishin@in.ibm.com>
diff --git a/extended/code_update/bmc_multi_code_update.robot b/extended/code_update/bmc_multi_code_update.robot
deleted file mode 100644
index 6c8728e..0000000
--- a/extended/code_update/bmc_multi_code_update.robot
+++ /dev/null
@@ -1,61 +0,0 @@
-*** Settings ***
-Documentation Verify that the BMC boots between code updates of different
-... BMC version. Verify with N, the current version, downgrade
-... and verify with N-1, update and verify N again, and finally
-... update and verify with N+1.
-
-Library ../../lib/code_update_utils.py
-Library ../../lib/gen_robot_valid.py
-Variables ../../data/variables.py
-Resource ../../lib/boot_utils.robot
-Resource ../../lib/code_update_utils.robot
-Resource ../../lib/openbmc_ffdc.robot
-
-Suite Setup Suite Setup Execution
-
-Test Teardown FFDC On Test Case Fail
-
-*** Variables ***
-
-${QUIET} ${1}
-${IMAGE_FILE_PATH} ${EMPTY}
-${N_MINUS_ONE_IMAGE_FILE_PATH} ${EMPTY}
-${N_PLUS_ONE_IMAGE_FILE_PATH} ${EMPTY}
-${SKIP_UPDATE_IF_ACTIVE} false
-
-*** Test Cases ***
-
-BMC Multi Code Update
- [Documentation] Do four code updates in a row. Update to N, N-1, N, and
- ... then N+1.
- [Tags] BMC_Multi_Code_Update
- [Template] Code Update And Reboot BMC
-
- # Image File Path
- ${IMAGE_FILE_PATH}
- ${N_MINUS_ONE_IMAGE_FILE_PATH}
- ${IMAGE_FILE_PATH}
- ${N_PLUS_ONE_IMAGE_FILE_PATH}
-
-
-*** Keywords ***
-
-Suite Setup Execution
- [Documentation] Do test suite setup tasks.
-
- Valid Value IMAGE_FILE_PATH
- Valid Value N_MINUS_ONE_IMAGE_FILE_PATH
- Valid Value N_PLUS_ONE_IMAGE_FILE_PATH
-
-
-Code Update And Reboot BMC
- [Documentation] Update the given image, and then verify update.
- [Arguments] ${image_file_path}
-
- # Description of argument(s):
- # image_file_path Path to the bmc image file.
-
- Upload And Activate Image ${image_file_path}
- ... skip_if_active=${SKIP_UPDATE_IF_ACTIVE}
- OBMC Reboot (off) stack_mode=normal
- Verify Running BMC Image ${image_file_path}
diff --git a/extended/code_update/bmc_recoverable_error_test.robot b/extended/code_update/bmc_recoverable_error_test.robot
deleted file mode 100644
index 85f2416..0000000
--- a/extended/code_update/bmc_recoverable_error_test.robot
+++ /dev/null
@@ -1,65 +0,0 @@
-*** Settings ***
-Documentation Test errors and changes in the environment that BMC code
-... update should recover from or not be effected by.
-
-Resource ../../lib/code_update_utils_serial.robot
-Resource ../../lib/openbmc_ffdc.robot
-
-Force Tags BMC_Update_Recoverable_Error
-
-Suite Setup Suite Setup Execution
-
-Test Setup Test Setup Execution
-Test Teardown FFDC On Test Case Fail
-
-*** Variables ***
-
-${QUIET} ${1}
-${IMAGE_FILE_PATH} ${EMPTY}
-
-# In order to test the code update features of the image at ${IMAGE_FILE_PATH},
-# we need another BMC image to update to.
-${ALTERNATE_IMAGE_FILE_PATH} ${EMPTY}
-
-*** Test Cases ***
-
-Reset Network During BMC Code Update
- [Documentation] Disable and re-enable the network while doing a BMC
- ... code update.
- [Tags] Reset_Network_During_BMC_Code_Update
- [Template] Reset Network Interface During Code Update
-
- # Image File Path Reboot
- ${ALTERNATE_IMAGE_FILE_PATH} ${TRUE}
-
-
-Reboot BMC During BMC Image Activation
- [Documentation] Attempt to reboot the BMC while an image is activating,
- ... checking that the reboot has no effect.
- [Tags] Reboot_BMC_During_BMC_Image_Activation
-
- Attempt To Reboot BMC During Image Activation ${ALTERNATE_IMAGE_FILE_PATH}
- OBMC Reboot (off)
-
-
-*** Keywords ***
-
-Suite Setup Execution
- [Documentation] Do setup tasks for recoverable errors.
-
- Should Not Be Empty ${IMAGE_FILE_PATH}
- ... msg=IMAGE_FILE_PATH should be set.
- Should Not Be Empty ${ALTERNATE_IMAGE_FILE_PATH}
- ... msg=ALTERNATE_IMAGE_FILE_PATH should be set.
- Should Not Be Empty ${OPENBMC_SERIAL_HOST}
- ... msg=OPENBMC_SERIAL_HOST should be set.
- Should Not Be Empty ${OPENBMC_SERIAL_PORT}
- ... msg=OPENBMC_SERIAL_PORT should be set.
-
-
-Test Setup Execution
- [Documentation] Do setup tasks for every test case.
-
- Upload And Activate Image ${IMAGE_FILE_PATH} skip_if_active=true
- OBMC Reboot (off)
- Delete All Non Running BMC Images
diff --git a/extended/code_update/host_multi_code_update.robot b/extended/code_update/host_multi_code_update.robot
deleted file mode 100644
index cb68a33..0000000
--- a/extended/code_update/host_multi_code_update.robot
+++ /dev/null
@@ -1,65 +0,0 @@
-*** Settings ***
-Documentation Verify that the host boots between code updates of different
-... PNOR version. Verify with N, the current version, downgrade
-... and verify with N-1, update and verify N again, and finally
-... update and verify with N+1.
-
-Library ../../lib/code_update_utils.py
-Variables ../../data/variables.py
-Resource ../../lib/boot_utils.robot
-Resource ../../lib/code_update_utils.robot
-Resource ../../lib/openbmc_ffdc.robot
-
-Suite Setup Suite Setup Execution
-
-Test Teardown FFDC On Test Case Fail
-
-*** Variables ***
-
-${QUIET} ${1}
-${IMAGE_FILE_PATH} ${EMPTY}
-${N_MINUS_ONE_IMAGE_FILE_PATH} ${EMPTY}
-${N_PLUS_ONE_IMAGE_FILE_PATH} ${EMPTY}
-
-*** Test Cases ***
-
-Host Multi Code Update
- [Documentation] Do four code updates in a row. Update to N, N-1, N, and
- ... then N+1.
- [Tags] Host_Multi_Code_Update
- [Template] Code Update And Power On Host
-
- # Image File Path
- ${IMAGE_FILE_PATH}
- ${N_MINUS_ONE_IMAGE_FILE_PATH}
- ${IMAGE_FILE_PATH}
- ${N_PLUS_ONE_IMAGE_FILE_PATH}
-
-
-*** Keywords ***
-
-Suite Setup Execution
- [Documentation] Do test suite setup tasks.
-
- Should Not Be Empty ${IMAGE_FILE_PATH} msg=Must set IMAGE_FILE_PATH.
- Should Not Be Empty ${N_MINUS_ONE_IMAGE_FILE_PATH}
- ... msg=Must set N_MINUS_ONE_IMAGE_FILE_PATH.
- Should Not Be Empty ${N_PLUS_ONE_IMAGE_FILE_PATH}
- ... msg=N_PLUS_ONE_IMAGE_FILE_PATH.
- Should Not Be Empty ${OS_HOST} msg=Must set OS_HOST.
- Should Not Be Empty ${OS_USERNAME} msg=Must set OS_USERNAME.
- Should Not Be Empty ${OS_PASSWORD} msg=Must set OS_PASSWORD.
-
-
-Code Update And Power On Host
- [Documentation] Shutdown the host, update to the given image, and then
- ... verify that the host is able to power on.
- [Arguments] ${image_file_path}
-
- # Description of argument(s):
- # image_file_path Path to the host image file.
-
- REST Power Off stack_mode=skip quiet=${1}
- Delete All PNOR Images
- Upload And Activate Image ${image_file_path}
- REST Power On
diff --git a/extended/code_update/host_recoverable_error_test.robot b/extended/code_update/host_recoverable_error_test.robot
deleted file mode 100644
index 9e50317..0000000
--- a/extended/code_update/host_recoverable_error_test.robot
+++ /dev/null
@@ -1,56 +0,0 @@
-*** Settings ***
-Documentation Test errors and changes in the environment that BMC code
-... update should recover from or not be effected by.
-
-Resource ../../lib/code_update_utils_serial.robot
-Resource ../../lib/openbmc_ffdc.robot
-
-Force Tags Host_Update_Recoverable_Error
-
-Suite Setup Suite Setup Execution
-
-Test Setup Test Setup Execution
-Test Teardown FFDC On Test Case Fail
-
-*** Variables ***
-
-${QUIET} ${1}
-${IMAGE_FILE_PATH} ${EMPTY}
-
-*** Test Cases ***
-
-Reboot BMC During Host Code Update
- [Documentation] Attempt to reboot the BMC while an image is activating,
- ... checking that the reboot has no effect.
- [Tags] Reboot_BMC_During_Host_Code_Update
-
- Attempt To Reboot BMC During Image Activation ${IMAGE_FILE_PATH}
-
-
-Reset Network During Host Code Update
- [Documentation] Disable and re-enable the network while doing a PNOR
- ... code update.
- [Tags] Reset_Network_During_Host_Code_Update
- [Template] Reset Network Interface During Code Update
-
- # Image File Path Reboot
- ${IMAGE_FILE_PATH} ${FALSE}
-
-
-*** Keywords ***
-
-Suite Setup Execution
- [Documentation] Do setup tasks for recoverable errors.
-
- Should Not Be Empty ${IMAGE_FILE_PATH}
- ... msg=IMAGE_FILE_PATH should be set.
- Should Not Be Empty ${OPENBMC_SERIAL_HOST}
- ... msg=OPENBMC_SERIAL_HOST should be set.
- Should Not Be Empty ${OPENBMC_SERIAL_PORT}
- ... msg=OPENBMC_SERIAL_PORT should be set.
-
-
-Test Setup Execution
- [Documentation] Do setup tasks for every test case.
-
- Delete All PNOR Images
diff --git a/extended/code_update/ipmi_bmc_code_update.robot b/extended/code_update/ipmi_bmc_code_update.robot
deleted file mode 100644
index bf0028a..0000000
--- a/extended/code_update/ipmi_bmc_code_update.robot
+++ /dev/null
@@ -1,52 +0,0 @@
-*** Settings ***
-Documentation Test BMC code update on a target BMC.
-... Execution Command:
-... python -m robot -v OPENBMC_HOST:<hostname> -v OS_HOST:<OS IP>
-... -v OS_USERNAME:<OS username> -v OS_PASSWORD:<OS password>
-... -v IMAGE_FILE_PATH:<path/*.tar> ipmi_bmc_code_update.robot
-
-Resource ../../lib/code_update_utils.robot
-Resource ../../lib/ipmi_client.robot
-
-Suite Setup Suite Setup Execution
-
-
-*** Variables ***
-
-${IMAGE_FILE_PATH} ${EMPTY}
-${SKIP_UPDATE_IF_ACTIVE} false
-
-
-*** Test Cases ***
-
-Verify IPMI Disable Policy Post BMC Code Update
- [Documentation] Disable IPMI, update BMC and verify post-update.
- [Tags] Verify_IPMI_Disable_Policy_Post_BMC_Code_Update
- [Teardown] Run Keywords FFDC On Test Case Fail
- ... AND Run Inband IPMI Standard Command lan set 1 access on
-
- Run Inband IPMI Standard Command lan set 1 access off
- Run Keyword and Expect Error *Unable to establish IPMI*
- ... Run External IPMI Standard Command lan print
-
- Upload And Activate Image ${IMAGE_FILE_PATH}
- ... skip_if_active=${SKIP_UPDATE_IF_ACTIVE}
- OBMC Reboot (off)
- Verify Running BMC Image ${IMAGE_FILE_PATH}
-
- Run Keyword and Expect Error *Unable to establish IPMI*
- ... Run External IPMI Standard Command lan print
-
-
-*** Keywords ***
-
-Suite Setup Execution
- [Documentation] Do code update test case setup.
-
- # Check if image file is provided.
- OperatingSystem.File Should Exist ${IMAGE_FILE_PATH}
-
- # - Clean up all existing BMC dumps.
- Run Key Delete All Dumps ignore=1
- Run Keyword And Ignore Error Smart Power Off
-
diff --git a/extended/code_update/test_field_mode.robot b/extended/code_update/test_field_mode.robot
deleted file mode 100644
index 44b0795..0000000
--- a/extended/code_update/test_field_mode.robot
+++ /dev/null
@@ -1,71 +0,0 @@
-*** Settings ***
-Documentation Test BMC field mode.
-
-Variables ../../data/variables.py
-Resource ../../lib/boot_utils.robot
-Resource ../../lib/rest_client.robot
-Resource ../../lib/openbmc_ffdc.robot
-Resource ../../lib/code_update_utils.robot
-
-Suite Setup Suite Setup Execution
-Suite Teardown Suite Teardown Execution
-
-Test Teardown FFDC On Test Case Fail
-
-*** Test Cases ***
-
-Verify Software Field Mode
- [Documentation] Verify software field mode is set.
- [Tags] Verify_Software_Field_Mode
-
- # After running, /xyz/openbmc_project/software should look like this:
- # /xyz/openbmc_project/software
- # {
- # "FieldModeEnabled": 1,
- # "associations": [
- # [
- # "active",
- # "software_version",
- # "/xyz/openbmc_project/software/fcf8e182"
- # ],
- # [
- # "functional",
- # "functional",
- # "/xyz/openbmc_project/software/fcf8e182"
- # ]
- # ]
- # }
-
- Enable Field Mode And Verify Unmount
-
-
-Attempt To Disable Field Mode Via REST And Verify
- [Documentation] Attempt to disable field mode with REST and verify that
- ... it remains enabled.
- [Tags] Attempt_To_Disable_Field_Mode_Via_REST_And_Verify
-
- # This test case doesn't actually disable field mode. It attempts to, but
- # verifies that the FieldModeEnabled property keeps its value of '1'
- # after trying to set it to '0'. Field mode is disabled in suite teardown.
-
- ${args}= Create Dictionary data=${0}
- Write Attribute ${SOFTWARE_VERSION_URI} FieldModeEnabled
- ... verify=${TRUE} expected_value=${1} data=${args}
-
-
-*** Keywords ***
-
-Suite Setup Execution
- [Documentation] Do suite setup tasks.
-
- # Check that /usr/local is mounted
- BMC Execute Command [ -d "/usr/local/share" ]
-
-
-Suite Teardown Execution
- [Documentation] Do suite teardown tasks.
-
- # 1. Disable field mode
- # 2. Check that /usr/local is mounted
-
- Disable Field Mode And Verify Unmount
diff --git a/extended/code_update/test_image_upload.robot b/extended/code_update/test_image_upload.robot
deleted file mode 100644
index cc1341b..0000000
--- a/extended/code_update/test_image_upload.robot
+++ /dev/null
@@ -1,268 +0,0 @@
-*** Settings ***
-Documentation Test upload image with both valid and invalid images.
-... This test expects there to be bad image tarballs named
-... pnor_bad_manifest.tar, pnor_no_image.tar,
-... bmc_bad_manifest.tar, and bmc_no_image.tar on the TFTP
-... server and in the BAD_IMAGES_DIR_PATH directory.
-... Execution Method :
-... python -m robot -v OPENBMC_HOST:<hostname>
-... -v TFTP_SERVER:<TFTP server IP>
-... -v PNOR_TFTP_FILE_NAME:<filename.tar>
-... -v BMC_TFTP_FILE_NAME:<filename.tar>
-... -v PNOR_IMAGE_FILE_PATH:<path/*.tar>
-... -v BMC_IMAGE_FILE_PATH:<path/*.tar>
-... -v BAD_IMAGES_DIR_PATH:<path> test_image_upload.robot
-
-Resource ../../lib/connection_client.robot
-Resource ../../lib/rest_client.robot
-Resource ../../lib/openbmc_ffdc.robot
-Library Collections
-Library String
-Library OperatingSystem
-Library ../../lib/code_update_utils.py
-
-Test Teardown Upload Image Teardown
-
-Force Tags Upload_Test
-
-*** Variables ***
-${timeout} 10
-${QUIET} ${1}
-
-*** Test Cases ***
-
-Upload Host Image Via REST
- [Documentation] Upload a PNOR image via REST.
- [Tags] Upload_Host_Image_Via_REST
- [Template] Upload Image Via REST And Verify Success
-
- # Image File Path
- ${PNOR_IMAGE_FILE_PATH}
-
-
-Upload BMC Image Via REST
- [Documentation] Upload a BMC image via REST.
- [Tags] Upload_BMC_Image_Via_REST
- [Template] Upload Image Via REST And Verify Success
-
- # Image File Path
- ${BMC_IMAGE_FILE_PATH}
-
-
-Upload Host Image Via TFTP
- [Documentation] Upload a PNOR image via TFTP.
- [Tags] Upload_Host_Image_Via_TFTP
- [Template] Upload Image Via TFTP And Verify Success
-
- # Image File Path
- ${PNOR_TFTP_FILE_NAME}
-
-
-Upload BMC Image Via TFTP
- [Documentation] Upload a BMC image via TFTP
- [Tags] Upload_BMC_Image_Via_TFTP
- [Template] Upload Image Via TFTP And Verify Success
-
- # Image File Path
- ${BMC_TFTP_FILE_NAME}
-
-
-Upload Host Image With Bad Manifest Via REST
- [Documentation] Upload a PNOR image with a bad MANIFEST via REST and
- ... verify that the BMC does not unpack it.
- [Tags] Upload_Host_Image_With_Bad_Manifest_Via_REST
- [Template] Upload Bad Image Via REST And Verify Failure
-
- # Image File Name
- pnor_bad_manifest.tar
-
-
-Upload Host Image With No Squashfs Via REST
- [Documentation] Upload a PNOR image with just a MANIFEST file via REST
- ... and verify that the BMC does not unpack it.
- [Tags] Upload_Host_Image_With_No_Squashfs_Via_REST
- [Template] Upload Bad Image Via REST And Verify Failure
-
- # Image File Name
- pnor_no_image.tar
-
-
-Upload BMC Image With Bad Manifest Via REST
- [Documentation] Upload a BMC image with a bad MANFIEST file via REST and
- ... verify that the BMC does not unpack it.
- [Tags] Upload_BMC_Image_With_Bad_Manifest_Via_REST
- [Template] Upload Bad Image Via REST And Verify Failure
-
- # Image File Name
- bmc_bad_manifest.tar
-
-
-Upload BMC Image With No Image Via REST
- [Documentation] Upload a BMC image with no just a MANIFEST file via REST
- ... and verify that the BMC does not unpack it.
- [Tags] Upload_BMC_Image_With_No_Image_Via_REST
- [Template] Upload Bad Image Via REST And Verify Failure
-
- # Image File Name
- bmc_no_image.tar
-
-
-Upload Host Image With Bad Manifest Via TFTP
- [Documentation] Upload a PNOR image with a bad MANIFEST file via TFTP and
- ... verify that the BMC does not unpack it.
- [Tags] Upload_Host_Image_With_Bad_Manifest_Via_TFTP
- [Template] Upload Bad Image Via TFTP And Verify Failure
-
- # Image File Name
- pnor_bad_manifest.tar
-
-
-Upload Host Image With No Squashfs Via TFTP
- [Documentation] Upload a PNOR image with just a MANIFEST file via TFTP and
- ... verify that the BMC does not unpack it.
- [Tags] Upload_Host_Image_With_No_Squashfs_Via_TFTP
- [Template] Upload Bad Image Via TFTP And Verify Failure
-
- # Image File Name
- pnor_no_image.tar
-
-
-Upload BMC Image With Bad Manifest Via TFTP
- [Documentation] Upload a BMC image with a bad MANIFEST file via TFTP and
- ... verify that the BMC does not unpack it.
- [Tags] Upload_BMC_Image_With_Bad_Manifest_Via_TFTP
- [Template] Upload Bad Image Via TFTP And Verify Failure
-
- # Image File Name
- bmc_bad_manifest.tar
-
-
-Upload BMC Image With No Image Via TFTP
- [Documentation] Upload a BMC image with just a MANIFEST file via TFTP and
- ... verify that the BMC does not unpack it.
- [Tags] Upload_BMC_Image_With_No_Image_Via_TFTP
- [Template] Upload Bad Image Via TFTP And Verify Failure
-
- # Image File Name
- bmc_no_image.tar
-
-
-*** Keywords ***
-
-Upload Image Teardown
- [Documentation] Log FFDC if test fails for debugging purposes.
-
- Close All Connections
- FFDC On Test Case Fail
-
-
-Upload Post Request
- [Documentation] Make POST request.
- [Arguments] ${uri} ${timeout}=10 ${quiet}=${QUIET} &{kwargs}
-
- # Description of argument(s):
- # uri URI for uploading image via REST.
- # timeout Time allocated for the REST command to return status.
- # quiet If enabled turns off logging to console.
- # kwargs A dictionary that maps each keyword to a value.
-
- Initialize OpenBMC ${timeout} quiet=${quiet}
- ${base_uri}= Catenate SEPARATOR= ${DBUS_PREFIX} ${uri}
- ${headers}= Create Dictionary Content-Type=application/octet-stream
- ... X-Auth-Token=${XAUTH_TOKEN} Accept=application/octet-stream
- Set To Dictionary ${kwargs} headers ${headers}
- Run Keyword If '${quiet}' == '${0}' Log Request method=Post
- ... base_uri=${base_uri} args=&{kwargs}
- ${ret}= Post Request openbmc ${base_uri} &{kwargs} timeout=${timeout}
- Run Keyword If '${quiet}' == '${0}' Log Response ${ret}
- Should Be Equal As Strings ${ret.status_code} ${HTTP_OK}
-
-Get Image Version From TFTP Server
- [Documentation] Get the version dfound in the MANIFEST file of
- ... an image on the given TFTP server.
- [Arguments] ${tftp_image_file_path}
-
- # Description of argument(s):
- # tftp_image_file_path The path to the image on the TFTP server.
-
- ${stripped_file_path}= Strip String ${tftp_image_file_path} characters=/
- ${rc}= OperatingSystem.Run And Return RC
- ... curl -s tftp://${TFTP_SERVER}/${stripped_file_path} > tftp_image.tar
- Should Be Equal As Integers 0 ${rc}
- ... msg=Could not download image to check version.
- ${version}= Get Version Tar tftp_image.tar
- OperatingSystem.Remove File tftp_image.tar
- [Return] ${version}
-
-Upload Image Via REST And Verify Success
- [Documentation] Upload an image to the BMC and check that it is unpacked.
-
- # Upload the given good image to the BMC via REST, and check that the
- # BMC has unpacked the image and created a valid D-Bus entry for it.
-
- [Arguments] ${image_file_path}
-
- # Description of argument(s):
- # image_file_path The path to the image file to upload.
-
- OperatingSystem.File Should Exist ${image_file_path}
- ${image_version}= Get Version Tar ${image_file_path}
- ${image_data}= OperatingSystem.Get Binary File ${image_file_path}
- Upload Image To BMC /upload/image data=${image_data}
- ${ret} ${version_id}= Verify Image Upload ${image_version}
- Should Be True ${ret}
-
-Upload Image Via TFTP And Verify Success
- [Documentation] Upload an image to the BMC and check that it was unpacked.
-
- # Upload the given good image to the BMC via TFTP, and check that the
- # BMC has unpacked the image and created a valid D-Bus entry for it.
-
- [Arguments] ${image_file_name}
-
- # Description of argument(s):
- # image_file_name The name of the image file on the TFTP server.
-
- @{image}= Create List ${image_file_name} ${TFTP_SERVER}
- ${data}= Create Dictionary data=@{image}
- ${resp}= OpenBMC Post Request
- ... ${SOFTWARE_VERSION_URI}action/DownloadViaTFTP data=${data}
- Should Be Equal As Strings ${resp.status_code} ${HTTP_OK}
- Sleep 1 minute
- ${image_version}= Get Image Version From TFTP Server ${image_file_name}
- ${ret} ${version_id}= Verify Image Upload ${image_version}
- Should Be True ${ret}
-
-Upload Bad Image Via REST And Verify Failure
- [Documentation] Upload the given bad image to the BMC via REST and check
- ... that the BMC did not unpack the invalid image.
- [Arguments] ${bad_image_file_name}
-
- # Description of argument(s):
- # image_file_name The name of the bad image to upload via REST.
-
- ${bad_image_file_path}= OperatingSystem.Join Path ${BAD_IMAGES_DIR_PATH}
- ... ${bad_image_file_name}
- OperatingSystem.File Should Exist ${bad_image_file_path}
- ... msg=Bad image file ${bad_image_file_name} not found.
- ${bad_image_version}= Get Version Tar ${bad_image_file_path}
- ${bad_image_data}= OperatingSystem.Get Binary File ${bad_image_file_path}
- Upload Post Request /upload/image data=${bad_image_data}
- Verify Image Not In BMC Uploads Dir ${bad_image_version}
-
-Upload Bad Image Via TFTP And Verify Failure
- [Documentation] Upload the given bad image to the BMC via TFTP and check
- ... that the BMC did not unpack the invalid image.
- [Arguments] ${bad_image_file_name}
-
- # Description of argument(s):
- # image_file_name The name of the bad image to upload via TFTP.
-
- @{image}= Create List ${bad_image_file_name} ${TFTP_SERVER}
- ${data}= Create Dictionary data=@{image}
- ${resp}= OpenBMC Post Request
- ... ${SOFTWARE_VERSION_URI}action/DownloadViaTFTP data=${data}
- Should Be Equal As Strings ${resp.status_code} ${HTTP_OK}
- ${bad_image_version}= Get Image Version From TFTP Server
- ... ${bad_image_file_name}
- Verify Image Not In BMC Uploads Dir ${bad_image_version}
diff --git a/extended/code_update/test_software_manager.robot b/extended/code_update/test_software_manager.robot
deleted file mode 100755
index 5925616..0000000
--- a/extended/code_update/test_software_manager.robot
+++ /dev/null
@@ -1,294 +0,0 @@
-*** Settings ***
-Documentation This suite is for Verifying BMC & BIOS version exposed part
-... of system inventory
-
-Resource ../../lib/rest_client.robot
-Resource ../../lib/openbmc_ffdc.robot
-Resource ../../lib/connection_client.robot
-Resource ../../lib/code_update_utils.robot
-
-Test Teardown FFDC On Test Case Fail
-
-*** Variables ***
-
-${BMC_SW_PATH} ${HOST_INVENTORY_URI}system/chassis/motherboard/boxelder/bmc
-${HOST_SW_PATH} ${HOST_INVENTORY_URI}system/chassis
-
-*** Test Cases ***
-
-Verify Software Purposes
- [Documentation] Verify that all software objects have a valid 'Purpose'
- ... field.
- [Tags] Verify_Software_Purposes
-
- ${object_uris}= Read Properties ${SOFTWARE_VERSION_URI}list
-
- FOR ${uri} IN @{object_uris}
- ${object}= Read Properties ${uri}
- Continue For Loop If not 'Purpose' in ${object}
- Should Contain Any ${object}[Purpose] ${VERSION_PURPOSE_HOST} ${VERSION_PURPOSE_BMC}
- END
-
-
-BMC Software Hex ID
- [Documentation] Verify BMC images have valid 8-digit hex IDs.
- [Tags] BMC_Software_Hex_ID
- [Template] Verify Software Hex IDs
-
- # Software Purpose
- ${VERSION_PURPOSE_BMC}
-
-
-BMC Software Version
- [Documentation] Verify BMC version and activation status.
- [Tags] BMC_Software_Version
- [Template] Verify Software Version
-
- # Software Purpose
- ${VERSION_PURPOSE_BMC}
-
-
-BMC Software Path
- [Documentation] Verify BMC images have valid 'Path' properties.
- [Tags] BMC_Software_Path
- [Template] Verify Software Path
-
- # Software Version
- ${VERSION_PURPOSE_BMC}
-
-
-BMC Software RequestedActivation
- [Documentation] Veriify BMC images have valid 'RequestedActivation'
- ... properties.
- [Tags] BMC_Software_RequestedActivation
- [Template] Verify Software RequestedActivation
-
- # Software Purpose
- ${VERSION_PURPOSE_BMC}
-
-
-BMC Software Activation Association
- [Documentation] Verify BMC association.
- [Tags] BMC_Software_Activation_Association
- [Template] Verify Software Activation Association
-
- # Software Purpose Association path
- ${VERSION_PURPOSE_BMC} ${BMC_SW_PATH}
-
-
-Host Software Hex ID
- [Documentation] Verify host images have valid 8-digit hex IDs.
- [Tags] Host_Software_Hex_ID
- [Template] Verify Software Hex IDs
-
- # Software Purpose
- ${VERSION_PURPOSE_HOST}
-
-
-Host Software Version
- [Documentation] Verify host version and activation status.
- [Tags] Host_Software_Version
- [Template] Verify Software Version
-
- # Software Purpose
- ${VERSION_PURPOSE_HOST}
-
-
-Host Software Path
- [Documentation] Verify host images have valid 'Path' properties.
- [Tags] Host_Software_Path
- [Template] Verify Software Path
-
- # Software Version
- ${VERSION_PURPOSE_HOST}
-
-
-Host Software RequestedActivation
- [Documentation] Veriify host images have valid 'RequestedActivation'
- ... properties.
- [Tags] Host_Software_RequestedActivation
- [Template] Verify Software RequestedActivation
-
- # Software Purpose
- ${VERSION_PURPOSE_HOST}
-
-
-Host Software Activation Association
- [Documentation] Verify Host association.
- [Tags] Host_Software_Activation_Association
- [Template] Verify Software Activation Association
-
- # Software Purpose Association path
- ${VERSION_PURPOSE_HOST} ${HOST_SW_PATH}
-
-
-*** Keywords ***
-
-Verify Software Hex IDs
- [Documentation] Verify software has valid hex IDs.
- [Arguments] ${software_purpose}
-
- ${software_ids}= Get Software Objects Id ${software_purpose}
-
- FOR ${id} IN @{software_ids}
- Length Should Be ${id} ${8}
- Should Match Regexp ${id} [0-9a-f]*
- END
-
-
-Verify Software Path
- [Documentation] Verify software has valid 'Path' properties.
- [Arguments] ${software_purpose}
-
- ${software_uris}= Get Software Objects ${software_purpose}
-
- FOR ${uri} IN @{software_uris}
- ${software_object}= Get Host Software Property ${uri}
- Return From Keyword If len('${software_object}[Path]') == ${0}
- BMC Execute Command [ -d "${path}" ]
- END
-
-
-Verify Software RequestedActivation
- [Documentation] Verify that software has valid 'Purpose' properties.
- [Arguments] ${software_purpose}
-
- ${software_uris}= Get Software Objects ${software_purpose}
-
- FOR ${uri} IN @{software_uris}
- ${software_object}= Get Host Software Property ${uri}
- Should Contain Any ${software_object}[RequestedActivation] ${REQUESTED_ACTIVE} ${REQUESTED_NONE}
- END
-
-
-Verify Software Activation Association
- [Documentation] Verify software activation association.
- [Arguments] ${software_purpose} ${assoiation_path}
-
- # Description of argument(s):
- # software_purpose BMC or host software purpose.
- # assoiation_path BMC or host inventory path.
-
- # Example:
- # "/xyz/openbmc_project/software/a0d9ba0d": {
- # "Activation": "xyz.openbmc_project.Software.Activation.Activations.Active",
- # "Path": "",
- # "Priority": 0,
- # "Purpose": "xyz.openbmc_project.Software.Version.VersionPurpose.BMC",
- # "RequestedActivation": "xyz.openbmc_project.Software.Activation.RequestedActivations.None",
- # "Version": "v1.99.9-143-g69cab69",
- # "associations": [
- # [
- # "inventory",
- # "activation",
- # "/xyz/openbmc_project/inventory/system/chassis/motherboard/boxelder/bmc"
- # ]
- # ]
- # },
- # "/xyz/openbmc_project/software/a0d9ba0d/inventory": {
- # "endpoints": [
- # "/xyz/openbmc_project/inventory/system/chassis/motherboard/boxelder/bmc"
- # ]
- # },
-
- ${obj_path_list}= Get Software Objects ${software_purpose}
-
- FOR ${index} IN @{obj_path_list}
- Verify Inventory Association ${index} ${assoiation_path}
- END
-
-
-Verify Inventory Association
- [Documentation] Verify software inventory association.
- [Arguments] ${software_path} ${assoiation_path}
-
- # Description of argument(s):
- # software_path BMC or host software id.
- # assoiation_path BMC or host inventory path.
-
- # Example:
- # "/xyz/openbmc_project/inventory/system/chassis/motherboard/boxelder/bmc/activation": {
- # "endpoints": [
- # "/xyz/openbmc_project/software/e42627b5",
- # "/xyz/openbmc_project/software/a0d9ba0d"
- # ]
- # },
-
- ${sw_attr_data}= Read Attribute ${software_path} Associations
- List Should Contain Value @{sw_attr_data} ${assoiation_path}
-
- # Verify the inventory path in software manager entry.
- ${sw_endpoint_data}= Read Attribute
- ... ${software_path}${/}inventory endpoints
- List Should Contain Value ${sw_endpoint_data} ${assoiation_path}
-
- # Verify the inventory path.
- ${inv_endpoint_data}= Read Attribute
- ... ${assoiation_path}${/}activation endpoints
- List Should Contain Value ${inv_endpoint_data} ${software_path}
-
-
-Verify Software Version
- [Documentation] Verify version and activation status.
- [Arguments] ${software_purpose}
-
- # Description of argument(s):
- # software_purpose BMC or host software purpose.
-
- # Example:
- # /xyz/openbmc_project/software/list
- # [
- # "/xyz/openbmc_project/software/2f974579",
- # "/xyz/openbmc_project/software/136cf504"
- # ]
-
- ${obj_list}= Get Software Objects ${software_purpose}
-
- FOR ${index} IN @{obj_list}
- ${resp}= Get Host Software Property ${index}
- Verify Software Properties ${resp} ${software_purpose}
- Run Keyword If '${software_purpose}' == '${VERSION_PURPOSE_BMC}'
- ... Check BMC Version ${index} ${resp["Version"]}
- END
-
-
-Verify Software Properties
- [Documentation] Verify the software object properties.
- [Arguments] ${software_property} ${software_purpose}
-
- # Description of argument(s):
- # software_property JSON response data.
- # software_purpose BMC or host software purpose
- # (e.g. "xyz.openbmc_project.Software.Version.VersionPurpose.BMC"
- # "xyz.openbmc_project.Software.Version.VersionPurpose.Host").
-
- Check Activation Status ${software_property["Activation"]}
-
-
-Check BMC Version
- [Documentation] Get BMC version from /etc/os-release and compare.
- [Arguments] ${software_object} ${version}
-
- # Description of argument(s):
- # software_object Software object path.
- # version Software version (e.g. "2.9.0-dev-257-gc97c74782")
-
- ${min_value}= Get Least Value Priority Image ${VERSION_PURPOSE_BMC}
- ${priority_value}= Read Software Attribute ${software_object} Priority
-
- Return From Keyword If ${priority_value} != ${min_value}
-
- Open Connection And Log In
- ${cmd}= Set Variable grep ^VERSION_ID= /etc/os-release | cut -f 2 -d '='
- ${output} ${stderr} ${rc}= BMC Execute Command ${cmd}
- Should Be Equal As Strings ${version} ${output}
-
-
-Check Activation Status
- [Documentation] Check if software state is "Active".
- [Arguments] ${status}
-
- # Description of argument(s):
- # status Activation status
- # (e.g. "xyz.openbmc_project.Software.Activation.Activations.Active")
- Should Be Equal As Strings ${ACTIVE} ${status}
diff --git a/extended/code_update/update_bmc.robot b/extended/code_update/update_bmc.robot
deleted file mode 100644
index ec9c81a..0000000
--- a/extended/code_update/update_bmc.robot
+++ /dev/null
@@ -1,99 +0,0 @@
-*** Settings ***
-Documentation Trigger code update to a target BMC.
-... Execution Method :
-... python -m robot -v OPENBMC_HOST:<hostname>
-... -v FILE_PATH:<path/*all.tar> update_bmc.robot
-...
-... Code update method BMC using REST
-... Update work flow sequence:
-... - User input BMC File existence check
-... - Ping Test and REST authentication
-... - Set Host Power host setting Policy to ALWAYS_POWER_OFF
-... On reboot this policy would ensure the BMC comes
-... online and stays at HOST_POWERED_OFF state.
-... - Issue poweroff
-... - Prune archived journal logs
-... - Prepare for Update
-... - Wait for BMC to come online clean
-... - Wait for BMC_READY state
-... - Apply preserve BMC Network setting
-... - SCP image to BMC
-... - Activate the flash image
-... - Warm Reset BMC to activate code
-... - Wait for BMC to come online time out 30 minutes
-... - Version check post update
-... - Identify REST url post update
-
-Library ../../lib/gen_robot_keyword.py
-Library String
-
-Resource code_update_utils.robot
-Resource ../../lib/state_manager.robot
-Resource ../../lib/utils.robot
-Resource ../../lib/list_utils.robot
-Resource ../../lib/openbmc_ffdc.robot
-Resource ../../extended/obmc_boot_test_resource.robot
-
-Test Teardown Run Key FFDC On Test Case Fail
-
-*** Variables ***
-
-${QUIET} ${1}
-# Boot failures are not acceptable so we set the threshold to 0.
-${boot_fail_threshold} ${0}
-
-${FILE_PATH} ${EMPTY}
-${FORCE_UPDATE} ${0}
-${REST_URL_FILE_PATH} ${EMPTY}
-
-# There are two reboots issued by code update.
-${MAX_BOOT_COUNT} ${2}
-
-*** Test Cases ***
-
-Initiate Code Update BMC
- [Documentation] Initiate a code update on the BMC.
- [Tags] Initiate_Code_Update_BMC
-
- ${status}= Run Keyword If '${LAST_KNOWN_GOOD_VERSION}' != '${EMPTY}'
- ... Run Keyword And Return Status
- ... Validate BMC Version ${LAST_KNOWN_GOOD_VERSION}
-
- Run Keyword if '${status}' == '${True}'
- ... Pass Execution The BMC already has the requested build loaded so no further action will be taken.
-
- # Enable user to bypass prerequisite operations.
- # Use cases for if BMC is not in working state.
- Run Keyword If ${FORCE_UPDATE} == ${0}
- ... Prepare BMC For Update
-
- Run Key U Preserve BMC Network Setting
- Run Key SCP Tar Image File To BMC \ ${FILE_PATH}
- Run Key Activate BMC Flash Image
- Run Key U OBMC Boot Test \ OBMC Reboot (off)
- Run Key U Check Boot Count And Time
- Run Keyword If ${BOOT_COUNT} == ${1}
- ... Log Boot time not updated by kernel. level=WARN
-
-*** Keywords ***
-
-Prepare BMC For Update
- [Documentation] Prerequisite operation before code update.
- Check Boot Count And Time
- Prune Journal Log
- Power Off Request
- Set BMC Power Policy ALWAYS_POWER_OFF
-
- Prepare For Update
- Check If BMC is Up 20 min 10 sec
- Check Boot Count And Time
-
- Wait For BMC Ready
-
-Check Boot Count And Time
- [Documentation] Check for unexpected reboots.
- Set BMC Reset Reference Time
- Log To Console \n Boot Count: ${BOOT_COUNT}
- Log To Console \n Boot Time: ${BOOT_TIME}
- Run Keyword If ${BOOT_COUNT} > ${MAX_BOOT_COUNT}
- ... Log Phantom Reboot!!! Unexpected reboot detected level=WARN
diff --git a/extended/test_slp.robot b/security/test_slp.robot
similarity index 100%
rename from extended/test_slp.robot
rename to security/test_slp.robot