xref: /openbmc/openbmc-test-automation/lib/ipmi_utils.robot (revision 36e047795293148a0987ff6c2d36b5d0637ae64d)
1cfb2c415Snagarjunb22*** Settings ***
2cfb2c415Snagarjunb22
3cfb2c415Snagarjunb22Documentation          Keywords for KCS and Lanplus interface command.
4cfb2c415Snagarjunb22
5cfb2c415Snagarjunb22Resource               ../lib/ipmi_client.robot
6cfb2c415Snagarjunb22Resource               ../lib/state_manager.robot
7cfb2c415Snagarjunb22Resource               ../lib/common_utils.robot
8cfb2c415Snagarjunb22Variables              ../data/ipmi_raw_cmd_table.py
9cfb2c415Snagarjunb22Library                ../lib/ipmi_utils.py
10cfb2c415Snagarjunb22
11cfb2c415Snagarjunb22
12cfb2c415Snagarjunb22*** Keywords ***
13cfb2c415Snagarjunb22
14cfb2c415Snagarjunb22Verify KCS Interface Commands
15cfb2c415Snagarjunb22    [Documentation]  Execute set of IPMI raw KCS interface commands and verify it is
16cfb2c415Snagarjunb22    ...  executable from os host. Set of IPMI raw commands includes system interface
17cfb2c415Snagarjunb22    ...  command.
18cfb2c415Snagarjunb22
19cfb2c415Snagarjunb22    #### raw cmd for get device ID.
20cfb2c415Snagarjunb22    Run Inband IPMI Raw Command  ${IPMI_RAW_CMD['Device ID']['Get'][0]}
21cfb2c415Snagarjunb22
22cfb2c415Snagarjunb22    #### Raw cmd for cold reset.
23cfb2c415Snagarjunb22    Run Inband IPMI Raw Command  ${IPMI_RAW_CMD['Cold Reset']['reset'][0]}
24cfb2c415Snagarjunb22
25cfb2c415Snagarjunb22    Wait Until Keyword Succeeds  2 min  10 sec  Is BMC Unpingable
26cfb2c415Snagarjunb22    Wait Until Keyword Succeeds  3 min  10 sec  Is BMC Operational
27cfb2c415Snagarjunb22    ## Waiting time to get KCS interface enabled.
28cfb2c415Snagarjunb22    Wait Until Keyword Succeeds  3 min  10 sec
29cfb2c415Snagarjunb22    ...  Run Inband IPMI Raw Command  ${IPMI_RAW_CMD['Device ID']['Get'][0]}
30cfb2c415Snagarjunb22
31cfb2c415Snagarjunb22    #### raw cmd for get device GUID.
32cfb2c415Snagarjunb22    Run Inband IPMI Raw Command  ${IPMI_RAW_CMD['Device GUID']['Get'][0]}
33cfb2c415Snagarjunb22
34cfb2c415Snagarjunb22    #### raw cmd for get IP addr.
35cfb2c415Snagarjunb22    Run Inband IPMI Raw Command  ${IPMI_RAW_CMD['lan_parameters']['get_ip'][0]}
36cfb2c415Snagarjunb22
37cfb2c415Snagarjunb22    #### raw cmd for get IP addr src.
38cfb2c415Snagarjunb22    Run Inband IPMI Raw Command  ${IPMI_RAW_CMD['lan_parameters']['get_ip_src'][0]}
39cfb2c415Snagarjunb22
40cfb2c415Snagarjunb22    #### raw cmd for get Dot1Q details.
41cfb2c415Snagarjunb22    Run Inband IPMI Raw Command  ${IPMI_RAW_CMD['lan_parameters']['get_dot1q'][0]}
42cfb2c415Snagarjunb22
43cfb2c415Snagarjunb22    #### raw cmd for get SDR Info.
44cfb2c415Snagarjunb22    Run Inband IPMI Raw Command  ${IPMI_RAW_CMD['SDR_Info']['get'][0]}
45cfb2c415Snagarjunb22
46cfb2c415Snagarjunb22    #### raw cmd for get Chassis status.
47cfb2c415Snagarjunb22    Run Inband IPMI Raw Command  ${IPMI_RAW_CMD['Chassis_status']['get'][0]}
48cfb2c415Snagarjunb22
49cfb2c415Snagarjunb22    #### raw cmd for get SEL INFO.
50cfb2c415Snagarjunb22    Run Inband IPMI Raw Command  ${IPMI_RAW_CMD['SEL_Info']['get'][0]}
51*36e04779Snagarjunb22
52*36e04779Snagarjunb22Verify Lanplus Interface Commands
53*36e04779Snagarjunb22    [Documentation]  Execute set of IPMI raw Command via lanplus interface and
54*36e04779Snagarjunb22    ...  verify it is executable from remote server. Set of IPMI raw commands
55*36e04779Snagarjunb22    ...  includes system interface command which should not execute via lanplus
56*36e04779Snagarjunb22    ...  interface.
57*36e04779Snagarjunb22
58*36e04779Snagarjunb22    #### raw cmd for get device ID.
59*36e04779Snagarjunb22    Run External IPMI Raw Command  ${IPMI_RAW_CMD['Device ID']['Get'][0]}
60*36e04779Snagarjunb22
61*36e04779Snagarjunb22    #### Raw cmd for cold reset.
62*36e04779Snagarjunb22    Run External IPMI Raw Command  ${IPMI_RAW_CMD['Cold Reset']['reset'][0]}
63*36e04779Snagarjunb22
64*36e04779Snagarjunb22    Wait Until Keyword Succeeds  2 min  10 sec  Is BMC Unpingable
65*36e04779Snagarjunb22    Wait Until Keyword Succeeds  3 min  10 sec  Is BMC Operational
66*36e04779Snagarjunb22    ## Waiting time to get Lanplus interface enabled.
67*36e04779Snagarjunb22    Wait Until Keyword Succeeds  3 min  10 sec
68*36e04779Snagarjunb22    ...  Run External IPMI Raw Command  ${IPMI_RAW_CMD['Device ID']['Get'][0]}
69*36e04779Snagarjunb22
70*36e04779Snagarjunb22    #### raw cmd for get device GUID.
71*36e04779Snagarjunb22    Run External IPMI Raw Command  ${IPMI_RAW_CMD['Device GUID']['Get'][0]}
72*36e04779Snagarjunb22
73*36e04779Snagarjunb22    #### raw cmd for get IP addr.
74*36e04779Snagarjunb22    Run External IPMI Raw Command  ${IPMI_RAW_CMD['lan_parameters']['get_ip'][0]}
75*36e04779Snagarjunb22
76*36e04779Snagarjunb22    #### raw cmd for get IP addr src.
77*36e04779Snagarjunb22    Run External IPMI Raw Command  ${IPMI_RAW_CMD['lan_parameters']['get_ip_src'][0]}
78*36e04779Snagarjunb22
79*36e04779Snagarjunb22    #### raw cmd for get Dot1Q details.
80*36e04779Snagarjunb22    Run External IPMI Raw Command  ${IPMI_RAW_CMD['lan_parameters']['get_dot1q'][0]}
81*36e04779Snagarjunb22
82*36e04779Snagarjunb22    ## Executing system interface command on lanplus interface.
83*36e04779Snagarjunb22    #### raw cmd for get SDR Info.
84*36e04779Snagarjunb22    Run Keyword and Expect Error  *Insufficient privilege level*
85*36e04779Snagarjunb22    ...  Run External IPMI Raw Command  ${IPMI_RAW_CMD['SDR_Info']['get'][0]}
86*36e04779Snagarjunb22
87*36e04779Snagarjunb22    #### raw cmd for get Chassis status.
88*36e04779Snagarjunb22    Run External IPMI Raw Command  ${IPMI_RAW_CMD['Chassis_status']['get'][0]}
89*36e04779Snagarjunb22
90*36e04779Snagarjunb22    #### raw cmd for get SEL INFO.
91*36e04779Snagarjunb22    Run External IPMI Raw Command  ${IPMI_RAW_CMD['SEL_Info']['get'][0]}
92