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