1*** Settings ***
2Documentation    Module to test IPMI disable functionality.
3
4Resource         ../lib/ipmi_client.robot
5Resource         ../lib/openbmc_ffdc.robot
6
7*** Test Cases ***
8
9Verify Disabling And Enabling IPMI Via Host
10    [Documentation]  Verify disabling and enabling IPMI via host.
11    [Tags]  Verify_Disabling_And_Enabling_IPMI_Via_Host
12    [Teardown]  Run Keywords  FFDC On Test Case Fail
13    ...  AND  Run Inband IPMI Standard Command  lan set 1 access on
14
15    # Disable IPMI and verify
16    Run Inband IPMI Standard Command  lan set 1 access off
17    Run Keyword and Expect Error  *Unable to establish IPMI*
18    ...  Run External IPMI Standard Command  lan print
19
20    # Enable IPMI and verify
21    Run Inband IPMI Standard Command  lan set 1 access on
22    ${lan_print_output}=  Run External IPMI Standard Command  lan print
23
24    ${openbmc_host_name}  ${openbmc_ip}  ${openbmc_short_name}=
25    ...  Get Host Name IP  host=${OPENBMC_HOST}  short_name=1
26    Should Contain  ${lan_print_output}  ${openbmc_ip}
27
28
29Verify Disabling IPMI Via OOB IPMI
30    [Documentation]  Verify disabling IPMI via out of band IPMI.
31    [Tags]  Verify_Disabling_IPMI_Via_OOB_IPMI
32    [Teardown]  Run Keywords  FFDC On Test Case Fail
33    ...  AND  Run Inband IPMI Standard Command  lan set 1 access on
34
35    # Disable IPMI via OOB IPMI and verify
36    Run Keyword and Expect Error  *IPMI response is NULL*
37    ...  Run IPMI Standard Command  lan set 1 access off
38    Run Keyword and Expect Error  *Unable to establish IPMI*
39    ...  Run External IPMI Standard Command  lan print
40
41    # Enable IPMI via Host and verify
42    Run Inband IPMI Standard Command  lan set 1 access on
43    ${lan_print_output}=  Run External IPMI Standard Command  lan print
44
45    ${openbmc_host_name}  ${openbmc_ip}  ${openbmc_short_name}=
46    ...  Get Host Name IP  host=${OPENBMC_HOST}  short_name=1
47    Should Contain  ${lan_print_output}  ${openbmc_ip}
48
49
50Verify IPMI Disable Persistency After BMC Reboot
51    [Documentation]  Verify IPMI disable persistency after BMC reboot.
52    [Tags]  Verify_IPMI_Disable_Persistency_After_BMC_Reboot
53    [Teardown]  Run Keywords  FFDC On Test Case Fail
54    ...  AND  Run Inband IPMI Standard Command  lan set 1 access on
55
56    # Disable IPMI and reboot BMC.
57    Run Inband IPMI Standard Command  lan set 1 access off
58    OBMC Reboot (run)
59
60    # Verify that IPMI remains disabled after reboot.
61    Run Keyword and Expect Error  *Unable to establish IPMI*
62    ...  Run External IPMI Standard Command  lan print
63
64