xref: /openbmc/openbmc-test-automation/redfish/extended/test_os_reboot.robot (revision 70aab0739be762393c30405af9723e915ebe5787)
1aae72aaeSGeorge Keishing*** Settings ***
2aae72aaeSGeorge KeishingDocumentation   Module to test OS reboot functionality.
3aae72aaeSGeorge Keishing
460b5e613SGeorge KeishingResource        ../../lib/bmc_redfish_resource.robot
5aae72aaeSGeorge KeishingResource        ../../lib/openbmc_ffdc.robot
6aae72aaeSGeorge KeishingResource        ../../lib/boot_utils.robot
7aae72aaeSGeorge Keishing
8aae72aaeSGeorge KeishingSuite Setup     Run Key  Start SOL Console Logging
9*70aab073SganesanbTest Setup      Redfish.Login
10aae72aaeSGeorge KeishingTest Teardown   Test Teardown Execution
11aae72aaeSGeorge Keishing
12aae72aaeSGeorge Keishing*** Variables ***
13aae72aaeSGeorge Keishing
14aae72aaeSGeorge Keishing# User defined boot test iteration.
15aae72aaeSGeorge Keishing${BOOT_LOOP_COUNT}   ${1}
16aae72aaeSGeorge Keishing
17aae72aaeSGeorge Keishing*** Test Cases ***
18aae72aaeSGeorge Keishing
19aae72aaeSGeorge KeishingHost Reboot Loop
20aae72aaeSGeorge Keishing    [Documentation]  Boot OS and trigger reboot and expect
21aae72aaeSGeorge Keishing    ...              OS to boot back.
22aae72aaeSGeorge Keishing    [Tags]  Host_Reboot_Loop
23aae72aaeSGeorge Keishing
24aae72aaeSGeorge Keishing    # 1. Boot OS
25aae72aaeSGeorge Keishing    # 2. Verify OS is booted
26aae72aaeSGeorge Keishing    # 3. Issue "reboot" from OS
27aae72aaeSGeorge Keishing    # 4. Verify if OS is booted back
28aae72aaeSGeorge Keishing
29aae72aaeSGeorge Keishing    # By default run test for 1 loop, else user input iteration.
30aae72aaeSGeorge Keishing    # Fails immediately if any of the execution rounds fail.
31aae72aaeSGeorge Keishing
32aae72aaeSGeorge Keishing    # Note: Host Reboot is implemented by the OBMC Boot Test tool.
33aae72aaeSGeorge Keishing    # OBMC Boot Test will take the necessary steps to get the OBMC
34aae72aaeSGeorge Keishing    # to a host powered on state before attempting the Host Reboot.
35e523fc04SGeorge Keishing    Repeat Keyword  ${BOOT_LOOP_COUNT} times  RF SYS GracefulRestart
36aae72aaeSGeorge Keishing
37aae72aaeSGeorge Keishing*** Keywords ***
38aae72aaeSGeorge Keishing
39aae72aaeSGeorge KeishingTest Teardown Execution
40aae72aaeSGeorge Keishing    [Documentation]  Do the post test teardown.
41aae72aaeSGeorge Keishing    # 1. Capture FFDC on test failure.
42aae72aaeSGeorge Keishing    # 2. Stop SOL logging.
43aae72aaeSGeorge Keishing    # 3. Close all open SSH connections.
44aae72aaeSGeorge Keishing
45aae72aaeSGeorge Keishing    FFDC On Test Case Fail
46aae72aaeSGeorge Keishing
47aae72aaeSGeorge Keishing    ${keyword_buf}=  Catenate  Stop SOL Console Logging
48aae72aaeSGeorge Keishing    ...  \ targ_file_path=${EXECDIR}${/}logs${/}SOL.log
49aae72aaeSGeorge Keishing    Run Key  ${keyword_buf}
50aae72aaeSGeorge Keishing
51aae72aaeSGeorge Keishing    Close All Connections
52