blob: 4972a04638bcf15f2aba5574cb616659cac2a92b [file] [log] [blame]
Rahul Maheshwarid2a20182019-07-30 00:55:27 -05001*** Settings ***
2
3Documentation Module to test IPMI management controller ID functionality.
4Resource ../lib/ipmi_client.robot
5Resource ../lib/openbmc_ffdc.robot
6Variables ../data/ipmi_raw_cmd_table.py
7
8Test Teardown FFDC On Test Case Fail
9
George Keishing87dc4422023-10-20 12:56:30 +053010Force Tags IPMI_MC_ID
Rahul Maheshwarid2a20182019-07-30 00:55:27 -050011
12*** Variables ***
13
14${new_mc_id}= HOST
15
16
17*** Test Cases ***
18
19Verify Get And Set Management Controller ID String
20 [Documentation] Verify get and set management controller ID string.
21 [Tags] Verify_Get_And_Set_Management_Controller_ID_String
22 # Get the value of the managemment controller ID string.
23 # Example:
24 # Get Management Controller Identifier String: witherspoon
25
Rahul Maheshwariceb282e2019-09-16 00:11:41 -050026 ${cmd_output}= Wait Until Keyword Succeeds 15 sec 5 sec
27 ... Run IPMI Standard Command dcmi get_mc_id_string
Rahul Maheshwarid2a20182019-07-30 00:55:27 -050028
29 # Extract management controller ID from cmd_output.
30 ${initial_mc_id}= Fetch From Right ${cmd_output} :${SPACE}
31
32 # Set the management controller ID string to other value.
33 # Example:
34 # Set Management Controller Identifier String Command: HOST
35
36 Set Management Controller ID String ${new_mc_id}
37
38 # Get the management controller ID and verify.
39 Get Management Controller ID String And Verify ${new_mc_id}
40
41 # Set the value back to the initial value and verify.
42 Set Management Controller ID String ${initial_mc_id}
43
44 # Get the management controller ID and verify.
45 Get Management Controller ID String And Verify ${initial_mc_id}
46
47
48Test Management Controller ID String Status via IPMI
49 [Documentation] Test management controller ID string status via IPMI.
50 [Tags] Test_Management_Controller_ID_String_Status_via_IPMI
51 # Disable management controller ID string status via IPMI and verify.
52 Run IPMI Standard Command dcmi set_conf_param dhcp_config 0x00
53 Verify Management Controller ID String Status disable
54
55 # Enable management controller ID string status via IPMI and verify.
56 Run IPMI Standard Command dcmi set_conf_param dhcp_config 0x01
57 Verify Management Controller ID String Status enable
58
59
60Test Management Controller ID String Status via Raw IPMI
61 [Documentation] Test management controller ID string status via IPMI.
62 [Tags] Test_Management_Controller_ID_String_Status_via_Raw_IPMI
63 # Disable management controller ID string status via raw IPMI and verify.
64 Run IPMI Standard Command raw ${IPMI_RAW_CMD['conf_param']['Disabled'][0]}
65 Verify Management Controller ID String Status disable
66
67 # Enable management controller ID string status via raw IPMI and verify.
68 Run IPMI Standard Command raw ${IPMI_RAW_CMD['conf_param']['Enabled'][0]}
69 Verify Management Controller ID String Status enable
70
71
72*** Keywords ***
73
74Set Management Controller ID String
75 [Documentation] Set the management controller ID string.
76 [Arguments] ${string}
77
78 # Description of argument(s):
79 # string Management Controller ID String to be set
80
81 ${set_mc_id_string}= Run IPMI Standard Command
82 ... dcmi set_mc_id_string ${string}
83
84
85Get Management Controller ID String And Verify
86 [Documentation] Get the management controller ID string.
87 [Arguments] ${string}
88
89 # Description of argument(s):
90 # string Management Controller ID string
91
92 ${get_mc_id}= Run IPMI Standard Command dcmi get_mc_id_string
93 Should Contain ${get_mc_id} ${string}
94 ... msg=Command failed: get_mc_id.
95
96
97Verify Management Controller ID String Status
98 [Documentation] Verify management controller ID string status via IPMI.
99 [Arguments] ${status}
100
101 # Example of dcmi get_conf_param command output:
102 # DHCP Discovery method :
103 # Management Controller ID String is disabled
104 # Vendor class identifier DCMI IANA and Vendor class-specific Informationa are disabled
105 # Initial timeout interval : 4 seconds
106 # Server contact timeout interval : 120 seconds
107 # Server contact retry interval : 64 seconds
108
109 ${resp}= Run IPMI Standard Command dcmi get_conf_param
110 ${resp}= Get Lines Containing String ${resp}
111 ... Management Controller ID String case_insensitive=True
112 Should Contain ${resp} ${status}
113 ... msg=Management controller ID string is not ${status}