*** Settings *** Documentation Module to test IPMI management controller ID functionality. Resource ../lib/ipmi_client.robot Resource ../lib/openbmc_ffdc.robot Variables ../data/ipmi_raw_cmd_table.py Test Teardown FFDC On Test Case Fail *** Variables *** ${new_mc_id}= HOST *** Test Cases *** Verify Get And Set Management Controller ID String [Documentation] Verify get and set management controller ID string. [Tags] Verify_Get_And_Set_Management_Controller_ID_String # Get the value of the managemment controller ID string. # Example: # Get Management Controller Identifier String: witherspoon ${cmd_output}= Wait Until Keyword Succeeds 15 sec 5 sec ... Run IPMI Standard Command dcmi get_mc_id_string # Extract management controller ID from cmd_output. ${initial_mc_id}= Fetch From Right ${cmd_output} :${SPACE} # Set the management controller ID string to other value. # Example: # Set Management Controller Identifier String Command: HOST Set Management Controller ID String ${new_mc_id} # Get the management controller ID and verify. Get Management Controller ID String And Verify ${new_mc_id} # Set the value back to the initial value and verify. Set Management Controller ID String ${initial_mc_id} # Get the management controller ID and verify. Get Management Controller ID String And Verify ${initial_mc_id} Test Management Controller ID String Status via IPMI [Documentation] Test management controller ID string status via IPMI. [Tags] Test_Management_Controller_ID_String_Status_via_IPMI # Disable management controller ID string status via IPMI and verify. Run IPMI Standard Command dcmi set_conf_param dhcp_config 0x00 Verify Management Controller ID String Status disable # Enable management controller ID string status via IPMI and verify. Run IPMI Standard Command dcmi set_conf_param dhcp_config 0x01 Verify Management Controller ID String Status enable Test Management Controller ID String Status via Raw IPMI [Documentation] Test management controller ID string status via IPMI. [Tags] Test_Management_Controller_ID_String_Status_via_Raw_IPMI # Disable management controller ID string status via raw IPMI and verify. Run IPMI Standard Command raw ${IPMI_RAW_CMD['conf_param']['Disabled'][0]} Verify Management Controller ID String Status disable # Enable management controller ID string status via raw IPMI and verify. Run IPMI Standard Command raw ${IPMI_RAW_CMD['conf_param']['Enabled'][0]} Verify Management Controller ID String Status enable *** Keywords *** Set Management Controller ID String [Documentation] Set the management controller ID string. [Arguments] ${string} # Description of argument(s): # string Management Controller ID String to be set ${set_mc_id_string}= Run IPMI Standard Command ... dcmi set_mc_id_string ${string} Get Management Controller ID String And Verify [Documentation] Get the management controller ID string. [Arguments] ${string} # Description of argument(s): # string Management Controller ID string ${get_mc_id}= Run IPMI Standard Command dcmi get_mc_id_string Should Contain ${get_mc_id} ${string} ... msg=Command failed: get_mc_id. Verify Management Controller ID String Status [Documentation] Verify management controller ID string status via IPMI. [Arguments] ${status} # Example of dcmi get_conf_param command output: # DHCP Discovery method : # Management Controller ID String is disabled # Vendor class identifier DCMI IANA and Vendor class-specific Informationa are disabled # Initial timeout interval : 4 seconds # Server contact timeout interval : 120 seconds # Server contact retry interval : 64 seconds ${resp}= Run IPMI Standard Command dcmi get_conf_param ${resp}= Get Lines Containing String ${resp} ... Management Controller ID String case_insensitive=True Should Contain ${resp} ${status} ... msg=Management controller ID string is not ${status}