| Sushil Singh | 87dcee1 | 2019-08-07 13:13:13 -0500 | [diff] [blame] | 1 | *** Settings *** | 
|  | 2 | Documentation            Update the BMC code on a target BMC via Redifsh. | 
|  | 3 |  | 
|  | 4 | # Test Parameters: | 
|  | 5 | # IMAGE_FILE_PATH        The path to the BMC image file. | 
|  | 6 | # | 
|  | 7 | # Firmware update states: | 
|  | 8 | #     Enabled            Image is installed and either functional or active. | 
|  | 9 | #     Disabled           Image installation failed or ready for activation. | 
|  | 10 | #     Updating           Image installation currently in progress. | 
|  | 11 |  | 
|  | 12 | Resource                 ../../lib/resource.robot | 
|  | 13 | Resource                 ../../lib/bmc_redfish_resource.robot | 
|  | 14 | Resource                 ../../lib/openbmc_ffdc.robot | 
|  | 15 | Resource                 ../../lib/common_utils.robot | 
|  | 16 | Resource                 ../../lib/code_update_utils.robot | 
|  | 17 | Resource                 ../../lib/redfish_code_update_utils.robot | 
| Sushil Singh | 6624ce5 | 2020-01-22 00:53:41 -0600 | [diff] [blame] | 18 | Resource                 ../../lib/utils.robot | 
| Sushil Singh | 87dcee1 | 2019-08-07 13:13:13 -0500 | [diff] [blame] | 19 | Library                  ../../lib/gen_robot_valid.py | 
|  | 20 | Library                  ../../lib/var_funcs.py | 
| Sushil Singh | 8f48c8f | 2020-01-16 04:36:25 -0600 | [diff] [blame] | 21 | Library                  ../../lib/gen_robot_keyword.py | 
| Sushil Singh | 8469a48 | 2020-07-30 04:19:10 -0500 | [diff] [blame] | 22 | Library                  ../../lib/code_update_utils.py | 
| Sushil Singh | 87dcee1 | 2019-08-07 13:13:13 -0500 | [diff] [blame] | 23 |  | 
| Sushil Singh | b2162d8 | 2019-09-27 07:22:04 -0500 | [diff] [blame] | 24 | Suite Setup              Suite Setup Execution | 
|  | 25 | Suite Teardown           Redfish.Logout | 
|  | 26 | Test Setup               Printn | 
|  | 27 | Test Teardown            FFDC On Test Case Fail | 
| Sushil Singh | 87dcee1 | 2019-08-07 13:13:13 -0500 | [diff] [blame] | 28 |  | 
| George Keishing | 7e85471 | 2021-03-17 13:18:10 -0500 | [diff] [blame] | 29 | # Force the test to timedout to prevent test hanging. | 
| George Keishing | 15d4b20 | 2023-11-20 11:35:38 +0530 | [diff] [blame] | 30 | Test Timeout             45 minutes | 
| George Keishing | 7e85471 | 2021-03-17 13:18:10 -0500 | [diff] [blame] | 31 |  | 
| Matt Fischer | 6fb70d9 | 2023-10-24 19:06:33 -0600 | [diff] [blame] | 32 | Test Tags               Bmc_Code_Update | 
| Sushil Singh | 87dcee1 | 2019-08-07 13:13:13 -0500 | [diff] [blame] | 33 |  | 
| Sushil Singh | 65878cb | 2020-02-27 03:43:44 -0600 | [diff] [blame] | 34 | *** Variables *** | 
|  | 35 |  | 
| George Keishing | 4d2c005 | 2023-12-04 21:21:12 +0530 | [diff] [blame] | 36 | ${FORCE_UPDATE}             ${0} | 
|  | 37 | ${LOOP_COUNT}               ${2} | 
|  | 38 | ${DELETE_ERRLOGS}           ${1} | 
|  | 39 | # Refer: https://github.com/open-power/guard | 
|  | 40 | ${DELETE_OLD_GUARD_FILE}    ${0} | 
| Sushil Singh | 65878cb | 2020-02-27 03:43:44 -0600 | [diff] [blame] | 41 |  | 
| George Keishing | 2e078ae | 2022-02-03 09:13:23 -0600 | [diff] [blame] | 42 | ${ACTIVATION_WAIT_TIMEOUT}     8 min | 
|  | 43 |  | 
| George Keishing | 57ab7cc | 2023-02-13 01:18:42 -0600 | [diff] [blame] | 44 | # New code update path. | 
|  | 45 | ${REDFISH_UPDATE_URI}    /redfish/v1/UpdateService/update | 
|  | 46 |  | 
| Sushil Singh | 87dcee1 | 2019-08-07 13:13:13 -0500 | [diff] [blame] | 47 | *** Test Cases *** | 
|  | 48 |  | 
|  | 49 | Redfish BMC Code Update | 
|  | 50 | [Documentation]  Update the firmware image. | 
|  | 51 | [Tags]  Redfish_BMC_Code_Update | 
|  | 52 |  | 
| George Keishing | aa02722 | 2021-11-17 06:37:57 -0600 | [diff] [blame] | 53 | # Python module:  get_version_tar(tar_file_path) | 
|  | 54 | ${image_version}=  code_update_utils.Get Version Tar  ${IMAGE_FILE_PATH} | 
| Sushil Singh | 87dcee1 | 2019-08-07 13:13:13 -0500 | [diff] [blame] | 55 | Rprint Vars  image_version | 
|  | 56 |  | 
| George Keishing | aa02722 | 2021-11-17 06:37:57 -0600 | [diff] [blame] | 57 | # Python module: get_bmc_release_info() | 
|  | 58 | ${bmc_release_info}=  utils.Get BMC Release Info | 
| George Keishing | fedd5ce | 2020-07-24 02:25:08 -0500 | [diff] [blame] | 59 | ${functional_version}=  Set Variable  ${bmc_release_info['version_id']} | 
|  | 60 | Rprint Vars  functional_version | 
|  | 61 |  | 
| Sushil Singh | 7665091 | 2020-12-10 23:48:05 -0600 | [diff] [blame] | 62 | ${post_code_update_actions}=  Get Post Boot Action | 
|  | 63 | ${state}=  Get Pre Reboot State | 
|  | 64 | Rprint Vars  state | 
|  | 65 |  | 
| George Keishing | 7890395 | 2020-07-24 07:04:53 -0500 | [diff] [blame] | 66 | # Check if the existing firmware is functional. | 
|  | 67 | Pass Execution If  '${functional_version}' == '${image_version}' | 
|  | 68 | ...  The existing ${image_version} firmware is already functional. | 
|  | 69 |  | 
| Sushil Singh | 7665091 | 2020-12-10 23:48:05 -0600 | [diff] [blame] | 70 | ${sw_inv}=  Get Functional Firmware  BMC image | 
|  | 71 | ${nonfunctional_sw_inv}=  Get Non Functional Firmware  ${sw_inv}  False | 
|  | 72 |  | 
|  | 73 | # Redfish active software image API. | 
| Sridevi Ramesh | e54be14 | 2025-05-05 00:52:45 -0500 | [diff] [blame] | 74 | IF  ${num_records} > 0 | 
|  | 75 | IF  '${nonfunctional_sw_inv['version']}' == '${image_version}' | 
|  | 76 | Set Backup Firmware To Functional  ${image_version}  ${state} | 
|  | 77 | END | 
|  | 78 | END | 
| Sushil Singh | 5285924 | 2020-10-09 07:28:22 -0500 | [diff] [blame] | 79 |  | 
| Sushil Singh | aad1da2 | 2021-06-21 04:19:18 -0500 | [diff] [blame] | 80 | Print Timen  Performing firmware update ${image_version}. | 
| Sushil Singh | 5285924 | 2020-10-09 07:28:22 -0500 | [diff] [blame] | 81 |  | 
| Sushil Singh | 87dcee1 | 2019-08-07 13:13:13 -0500 | [diff] [blame] | 82 | Redfish Update Firmware | 
|  | 83 |  | 
| Sushil Singh | 8469a48 | 2020-07-30 04:19:10 -0500 | [diff] [blame] | 84 |  | 
| George Keishing | b695a90 | 2022-05-11 09:26:21 -0500 | [diff] [blame] | 85 | Redfish BMC Code Update Running And Backup Image With Same Firmware | 
|  | 86 | [Documentation]  Perform the firmware update with same image back to back, so that | 
|  | 87 | ...              the running (functional Image) and backup image (alternate image) | 
|  | 88 | ...              with same firmware. | 
|  | 89 | [Tags]  Redfish_BMC_Code_Update_Running_And_Backup_Image_With_Same_Firmware | 
|  | 90 |  | 
|  | 91 | # Python module:  get_version_tar(tar_file_path) | 
|  | 92 | ${image_version}=  code_update_utils.Get Version Tar  ${IMAGE_FILE_PATH} | 
|  | 93 | Rprint Vars  image_version | 
|  | 94 |  | 
|  | 95 | # Python module: get_bmc_release_info() | 
|  | 96 | ${bmc_release_info}=  utils.Get BMC Release Info | 
|  | 97 | ${functional_version}=  Set Variable  ${bmc_release_info['version_id']} | 
|  | 98 | Rprint Vars  functional_version | 
|  | 99 |  | 
|  | 100 | # First update. | 
|  | 101 | Print Timen  Performing firmware update ${image_version}. | 
|  | 102 | Redfish Update Firmware | 
|  | 103 |  | 
|  | 104 | # Second update. | 
|  | 105 | Print Timen  Performing firmware update ${image_version}. | 
|  | 106 | Redfish Update Firmware | 
|  | 107 |  | 
|  | 108 |  | 
| Sushil Singh | 8469a48 | 2020-07-30 04:19:10 -0500 | [diff] [blame] | 109 | Redfish Firmware Update Loop | 
| George Keishing | 98cf8af | 2022-07-14 11:13:49 -0500 | [diff] [blame] | 110 | [Documentation]  Update the same firmware image in loop. | 
| Sushil Singh | 8469a48 | 2020-07-30 04:19:10 -0500 | [diff] [blame] | 111 | [Tags]  Redfish_Firmware_Update_Loop | 
|  | 112 | [Template]  Redfish Firmware Update In Loop | 
| George Keishing | 98cf8af | 2022-07-14 11:13:49 -0500 | [diff] [blame] | 113 | [Timeout]    NONE | 
|  | 114 | # Override default 30 minutes, Disabling timeout with NONE explicitly | 
|  | 115 | # else this test will fail for longer loop runs. | 
| Sushil Singh | 8469a48 | 2020-07-30 04:19:10 -0500 | [diff] [blame] | 116 |  | 
|  | 117 | ${LOOP_COUNT} | 
|  | 118 |  | 
|  | 119 |  | 
| Sushil Singh | 87dcee1 | 2019-08-07 13:13:13 -0500 | [diff] [blame] | 120 | *** Keywords *** | 
|  | 121 |  | 
|  | 122 | Suite Setup Execution | 
|  | 123 | [Documentation]  Do the suite setup. | 
|  | 124 |  | 
|  | 125 | Redfish.Login | 
| Sushil Singh | 87dcee1 | 2019-08-07 13:13:13 -0500 | [diff] [blame] | 126 | # Delete BMC dump and Error logs. | 
| George Keishing | c195445 | 2020-10-14 07:44:17 -0500 | [diff] [blame] | 127 | Run Keyword And Ignore Error  Redfish Delete All BMC Dumps | 
| George Keishing | 7dc4847 | 2025-05-07 20:23:47 +0530 | [diff] [blame] | 128 | IF  ${DELETE_ERRLOGS} == ${1} | 
|  | 129 | Run Keyword And Ignore Error  Redfish Purge Event Log | 
|  | 130 | END | 
| George Keishing | 4d2c005 | 2023-12-04 21:21:12 +0530 | [diff] [blame] | 131 | # To invalidate all the guard records. | 
| George Keishing | 7dc4847 | 2025-05-07 20:23:47 +0530 | [diff] [blame] | 132 | IF  '${DELETE_OLD_GUARD_FILE}' == '${1}' | 
|  | 133 | BMC Execute Command  guard -I | 
|  | 134 | END | 
| George Keishing | 4d2c005 | 2023-12-04 21:21:12 +0530 | [diff] [blame] | 135 |  | 
| Sushil Singh | 87dcee1 | 2019-08-07 13:13:13 -0500 | [diff] [blame] | 136 | # Checking for file existence. | 
|  | 137 | Valid File Path  IMAGE_FILE_PATH | 
|  | 138 |  | 
| George Keishing | 57ab7cc | 2023-02-13 01:18:42 -0600 | [diff] [blame] | 139 | # Check and set the update path. | 
|  | 140 | # Old - /redfish/v1/UpdateService/ | 
|  | 141 | # New - /redfish/v1/UpdateService/update | 
|  | 142 | ${resp}=  Redfish.Get  /redfish/v1/UpdateService/update | 
|  | 143 | ...  valid_status_codes=[${HTTP_OK},${HTTP_NOT_FOUND},${HTTP_METHOD_NOT_ALLOWED}] | 
|  | 144 |  | 
|  | 145 | # If the method is not found, set update URI to old method. | 
| George Keishing | 7dc4847 | 2025-05-07 20:23:47 +0530 | [diff] [blame] | 146 | IF  ${resp.status} == ${HTTP_NOT_FOUND} | 
|  | 147 | Set Suite Variable  ${REDFISH_UPDATE_URI}  /redfish/v1/UpdateService | 
|  | 148 | END | 
| George Keishing | 57ab7cc | 2023-02-13 01:18:42 -0600 | [diff] [blame] | 149 |  | 
|  | 150 | Log To Console  Update URI: ${REDFISH_UPDATE_URI} | 
|  | 151 |  | 
| George Keishing | 4574ec4 | 2021-10-06 11:45:33 -0500 | [diff] [blame] | 152 | Redfish Power Off  stack_mode=skip | 
|  | 153 |  | 
| Sushil Singh | 8469a48 | 2020-07-30 04:19:10 -0500 | [diff] [blame] | 154 |  | 
|  | 155 | Redfish Firmware Update In Loop | 
|  | 156 | [Documentation]  Update the firmware in loop. | 
|  | 157 | [Arguments]  ${update_loop_count} | 
|  | 158 |  | 
|  | 159 | # Description of argument(s): | 
|  | 160 | # update_loop_count    This value is used to run the firmware update in loop. | 
|  | 161 |  | 
| George Keishing | 98cf8af | 2022-07-14 11:13:49 -0500 | [diff] [blame] | 162 | # Python module:  get_version_tar(tar_file_path) | 
|  | 163 | ${image_version}=  code_update_utils.Get Version Tar  ${IMAGE_FILE_PATH} | 
|  | 164 | Rprint Vars  image_version | 
|  | 165 |  | 
|  | 166 | # Python module: get_bmc_release_info() | 
|  | 167 | ${bmc_release_info}=  utils.Get BMC Release Info | 
|  | 168 | ${functional_version}=  Set Variable  ${bmc_release_info['version_id']} | 
|  | 169 | Print Timen  Starting firmware information: | 
|  | 170 | Rprint Vars  functional_version | 
|  | 171 |  | 
| Sushil Singh | 53c2dde | 2020-09-18 05:53:20 -0500 | [diff] [blame] | 172 | ${temp_update_loop_count}=  Evaluate  ${update_loop_count} + 1 | 
| Sushil Singh | 8469a48 | 2020-07-30 04:19:10 -0500 | [diff] [blame] | 173 |  | 
| Sushil Singh | 53c2dde | 2020-09-18 05:53:20 -0500 | [diff] [blame] | 174 | FOR  ${count}  IN RANGE  1  ${temp_update_loop_count} | 
| George Keishing | 98cf8af | 2022-07-14 11:13:49 -0500 | [diff] [blame] | 175 | Print Timen  ************************************** | 
|  | 176 | Print Timen  * The Current Loop Count is ${count} of ${update_loop_count} * | 
|  | 177 | Print Timen  ************************************** | 
|  | 178 | Print Timen  Performing firmware update ${image_version}. | 
|  | 179 | Redfish Update Firmware | 
| Sushil Singh | 8469a48 | 2020-07-30 04:19:10 -0500 | [diff] [blame] | 180 | END | 
|  | 181 |  | 
| Sushil Singh | 8469a48 | 2020-07-30 04:19:10 -0500 | [diff] [blame] | 182 |  | 
| Sushil Singh | 8469a48 | 2020-07-30 04:19:10 -0500 | [diff] [blame] | 183 | Delete BMC Image | 
|  | 184 | [Documentation]  Delete a BMC image from the BMC flash chip. | 
|  | 185 |  | 
|  | 186 | ${software_object}=  Get Non Running BMC Software Object | 
|  | 187 | Delete Image And Verify  ${software_object}  ${VERSION_PURPOSE_BMC} | 
|  | 188 |  | 
|  | 189 |  | 
| Sushil Singh | 87dcee1 | 2019-08-07 13:13:13 -0500 | [diff] [blame] | 190 | Activate Existing Firmware | 
| George Keishing | 16b3c7b | 2021-01-28 09:23:37 -0600 | [diff] [blame] | 191 | [Documentation]  Set firmware image to lower priority. | 
| Sushil Singh | 87dcee1 | 2019-08-07 13:13:13 -0500 | [diff] [blame] | 192 | [Arguments]  ${image_version} | 
|  | 193 |  | 
|  | 194 | # Description of argument(s): | 
|  | 195 | # image_version     Version of image. | 
|  | 196 |  | 
|  | 197 | ${software_inventory_record}=  Get Software Inventory State By Version | 
|  | 198 | ...  ${image_version} | 
|  | 199 | ${num_keys}=  Get Length  ${software_inventory_record} | 
|  | 200 |  | 
|  | 201 | Rprint Vars  software_inventory_record | 
|  | 202 |  | 
|  | 203 | # If no software inventory record was found, there is no existing | 
|  | 204 | # firmware for the given version and therefore no action to be taken. | 
| Sridevi Ramesh | e54be14 | 2025-05-05 00:52:45 -0500 | [diff] [blame] | 205 | IF  not ${num_keys}  RETURN | 
| Sushil Singh | 87dcee1 | 2019-08-07 13:13:13 -0500 | [diff] [blame] | 206 |  | 
|  | 207 | # Check if the existing firmware is functional. | 
|  | 208 | Pass Execution If  ${software_inventory_record['functional']} | 
|  | 209 | ...  The existing ${image_version} firmware is already functional. | 
|  | 210 |  | 
|  | 211 | # If existing firmware is not functional, then set the priority to least. | 
|  | 212 | Print Timen  The existing ${image_version} firmware is not yet functional. | 
|  | 213 | Set BMC Image Priority To Least  ${image_version}  ${software_inventory_record} | 
|  | 214 |  | 
|  | 215 | Pass Execution  The existing ${image_version} firmware is now functional. | 
|  | 216 |  | 
|  | 217 |  | 
|  | 218 | Get Image Priority | 
|  | 219 | [Documentation]  Get Current Image Priority. | 
|  | 220 | [Arguments]  ${image_version} | 
|  | 221 |  | 
|  | 222 | # Description of argument(s): | 
| George Keishing | 16b3c7b | 2021-01-28 09:23:37 -0600 | [diff] [blame] | 223 | # image_version       The Firmware image version (e.g. 2.8.0-dev-1107-g512028d95). | 
| Sushil Singh | 87dcee1 | 2019-08-07 13:13:13 -0500 | [diff] [blame] | 224 |  | 
|  | 225 | ${software_info}=  Read Properties | 
|  | 226 | ...  ${SOFTWARE_VERSION_URI}/enumerate  quiet=1 | 
|  | 227 | # Get only the record associated with our image_version. | 
|  | 228 |  | 
|  | 229 | ${software_info}=  Filter Struct | 
|  | 230 | ...  ${software_info}  [('Version', '${image_version}')] | 
|  | 231 | # Convert from dict to list. | 
|  | 232 | ${software_info}=  Get Dictionary Values  ${software_info} | 
|  | 233 |  | 
| George Keishing | 409df05 | 2024-01-17 22:36:14 +0530 | [diff] [blame] | 234 | RETURN  ${software_info[0]['Priority']} | 
| Sushil Singh | 87dcee1 | 2019-08-07 13:13:13 -0500 | [diff] [blame] | 235 |  | 
|  | 236 |  | 
|  | 237 | Set BMC Image Priority To Least | 
|  | 238 | [Documentation]  Set BMC image priority to least value. | 
|  | 239 | [Arguments]  ${image_version}  ${software_inventory} | 
|  | 240 |  | 
|  | 241 | # Description of argument(s): | 
| George Keishing | 16b3c7b | 2021-01-28 09:23:37 -0600 | [diff] [blame] | 242 | # image_version       The Firmware image version (e.g. 2.8.0-dev-1107-g512028d95). | 
| Sushil Singh | 87dcee1 | 2019-08-07 13:13:13 -0500 | [diff] [blame] | 243 | # software_inventory  Software inventory details. | 
|  | 244 |  | 
|  | 245 | ${least_priority}=  Get Least Value Priority Image  ${VERSION_PURPOSE_BMC} | 
|  | 246 | ${cur_priority}=  Get Image Priority  ${image_version} | 
|  | 247 | Rprint Vars  least_priority  cur_priority | 
|  | 248 |  | 
| Sridevi Ramesh | e54be14 | 2025-05-05 00:52:45 -0500 | [diff] [blame] | 249 | IF  '${least_priority}' == ${cur_priority}  RETURN | 
|  | 250 |  | 
| Sushil Singh | 87dcee1 | 2019-08-07 13:13:13 -0500 | [diff] [blame] | 251 | Set Host Software Property | 
|  | 252 | ...  ${SOFTWARE_VERSION_URI}${software_inventory['image_id']} | 
|  | 253 | ...  Priority  ${least_priority} | 
|  | 254 |  | 
| Sushil Singh | 87dcee1 | 2019-08-07 13:13:13 -0500 | [diff] [blame] | 255 | Redfish OBMC Reboot (off) | 
| Sushil Singh | 87dcee1 | 2019-08-07 13:13:13 -0500 | [diff] [blame] | 256 |  | 
|  | 257 |  | 
| Sushil Singh | aad1da2 | 2021-06-21 04:19:18 -0500 | [diff] [blame] | 258 | Set Backup Firmware To Functional | 
|  | 259 | [Documentation]  Set the backup firmware to functional. | 
|  | 260 | [Arguments]  ${image_version}  ${state} | 
|  | 261 |  | 
|  | 262 | # Description of argument(s): | 
|  | 263 | # image_version     Version of image. | 
|  | 264 | # state             Pre reboot state. | 
|  | 265 |  | 
|  | 266 | Print Timen  Switch to back up and rebooting. | 
|  | 267 | Switch Backup Firmware Image To Functional | 
|  | 268 | Wait For Reboot  start_boot_seconds=${state['epoch_seconds']} | 
|  | 269 | Redfish Verify BMC Version  ${IMAGE_FILE_PATH} | 
|  | 270 | Pass Execution  The backup firmware image ${image_version} is now functional. | 
|  | 271 |  | 
|  | 272 |  | 
| Sushil Singh | 87dcee1 | 2019-08-07 13:13:13 -0500 | [diff] [blame] | 273 | Redfish Update Firmware | 
|  | 274 | [Documentation]  Update the BMC firmware via redfish interface. | 
|  | 275 |  | 
| Sushil Singh | 6624ce5 | 2020-01-22 00:53:41 -0600 | [diff] [blame] | 276 | ${post_code_update_actions}=  Get Post Boot Action | 
| Sushil Singh | 87dcee1 | 2019-08-07 13:13:13 -0500 | [diff] [blame] | 277 | ${state}=  Get Pre Reboot State | 
|  | 278 | Rprint Vars  state | 
| Sushil Singh | 090eedc | 2019-11-05 02:04:59 -0600 | [diff] [blame] | 279 | Run Keyword And Ignore Error  Set ApplyTime  policy=OnReset | 
| George Keishing | 2e078ae | 2022-02-03 09:13:23 -0600 | [diff] [blame] | 280 |  | 
|  | 281 | # Python module:  get_member_list(resource_path) | 
|  | 282 | ${before_inv_list}=  redfish_utils.Get Member List  /redfish/v1/UpdateService/FirmwareInventory | 
|  | 283 | Log To Console   Current images on the BMC before upload: ${before_inv_list} | 
|  | 284 |  | 
| George Keishing | b695a90 | 2022-05-11 09:26:21 -0500 | [diff] [blame] | 285 | Print Timen  Start uploading image to BMC. | 
| George Keishing | 57ab7cc | 2023-02-13 01:18:42 -0600 | [diff] [blame] | 286 | Redfish Upload Image  ${REDFISH_UPDATE_URI}  ${IMAGE_FILE_PATH} | 
| George Keishing | b695a90 | 2022-05-11 09:26:21 -0500 | [diff] [blame] | 287 | Print Timen  Completed image upload to BMC. | 
| George Keishing | 2e078ae | 2022-02-03 09:13:23 -0600 | [diff] [blame] | 288 |  | 
|  | 289 | # Python module:  get_member_list(resource_path) | 
|  | 290 | ${after_inv_list}=  redfish_utils.Get Member List  /redfish/v1/UpdateService/FirmwareInventory | 
|  | 291 | Log To Console  Current images on the BMC after upload: ${after_inv_list} | 
|  | 292 |  | 
|  | 293 | ${image_id}=  Evaluate  set(${after_inv_list}) - set(${before_inv_list}) | 
|  | 294 | Should Not Be Empty    ${image_id} | 
|  | 295 | ${image_id}=  Evaluate  list(${image_id})[0].split('/')[-1] | 
|  | 296 | Log To Console  Firmware installation in progress with image id:: ${image_id} | 
|  | 297 |  | 
|  | 298 | Wait Until Keyword Succeeds  ${ACTIVATION_WAIT_TIMEOUT}  10 sec | 
|  | 299 | ...  Check Image Update Progress State  match_state='Enabled'  image_id=${image_id} | 
|  | 300 |  | 
|  | 301 | # Python module:  get_version_tar(tar_file_path) | 
|  | 302 | ${tar_version}=  code_update_utils.Get Version Tar  ${IMAGE_FILE_PATH} | 
| Sushil Singh | 8f48c8f | 2020-01-16 04:36:25 -0600 | [diff] [blame] | 303 | ${image_info}=  Get Software Inventory State By Version  ${tar_version} | 
| George Keishing | 2e078ae | 2022-02-03 09:13:23 -0600 | [diff] [blame] | 304 |  | 
| Sushil Singh | 8f48c8f | 2020-01-16 04:36:25 -0600 | [diff] [blame] | 305 | Run Key  ${post_code_update_actions['${image_info["image_type"]}']['OnReset']} | 
|  | 306 | Redfish.Login | 
|  | 307 | Redfish Verify BMC Version  ${IMAGE_FILE_PATH} | 
| Sushil Singh | 87dcee1 | 2019-08-07 13:13:13 -0500 | [diff] [blame] | 308 |  |