1*05d42feeSGeorge Keishing*** Settings *** 2*05d42feeSGeorge KeishingDocumentation Suite to test OCC power module. 3*05d42feeSGeorge Keishing 4*05d42feeSGeorge KeishingResource ../lib/bmc_redfish_resource.robot 5*05d42feeSGeorge KeishingResource ../lib/open_power_utils.robot 6*05d42feeSGeorge KeishingResource ../lib/boot_utils.robot 7*05d42feeSGeorge KeishingResource ../lib/state_manager.robot 8*05d42feeSGeorge KeishingResource ../lib/openbmc_ffdc.robot 9*05d42feeSGeorge KeishingResource ../lib/utils.robot 10*05d42feeSGeorge Keishing 11*05d42feeSGeorge KeishingSuite Setup Suite Setup Execution 12*05d42feeSGeorge KeishingTest Teardown Test Teardown Execution 13*05d42feeSGeorge Keishing 14*05d42feeSGeorge Keishing*** Test Cases *** 15*05d42feeSGeorge Keishing 16*05d42feeSGeorge KeishingVerify OCC Object Count 17*05d42feeSGeorge Keishing [Documentation] Verify that OCC and inventory entries match. 18*05d42feeSGeorge Keishing [Tags] Verify_OCC_Object_Count 19*05d42feeSGeorge Keishing 20*05d42feeSGeorge Keishing # Example: 21*05d42feeSGeorge Keishing # /org/open_power/control/enumerate 22*05d42feeSGeorge Keishing # { 23*05d42feeSGeorge Keishing # "/org/open_power/control/host0": {}, 24*05d42feeSGeorge Keishing # "/org/open_power/control/occ0": { 25*05d42feeSGeorge Keishing # "OccActive": 0 26*05d42feeSGeorge Keishing # }, 27*05d42feeSGeorge Keishing # "/org/open_power/control/occ1": { 28*05d42feeSGeorge Keishing # "OccActive": 0 29*05d42feeSGeorge Keishing # } 30*05d42feeSGeorge Keishing # } 31*05d42feeSGeorge Keishing 32*05d42feeSGeorge Keishing # Inventory counterpart cpu's: 33*05d42feeSGeorge Keishing # "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0", 34*05d42feeSGeorge Keishing # "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1", 35*05d42feeSGeorge Keishing 36*05d42feeSGeorge Keishing ${inventory_count}= Count Object Entries 37*05d42feeSGeorge Keishing ... ${HOST_INVENTORY_URI}system/chassis/motherboard/ cpu* 38*05d42feeSGeorge Keishing 39*05d42feeSGeorge Keishing Should Be Equal ${occ_count} ${inventory_count} 40*05d42feeSGeorge Keishing ... msg=OCC and inventory entry counts are mismatched. 41*05d42feeSGeorge Keishing 42*05d42feeSGeorge Keishing 43*05d42feeSGeorge KeishingVerify OCC State When Host Is Booted 44*05d42feeSGeorge Keishing [Documentation] Verify OCC state when host is booted. 45*05d42feeSGeorge Keishing [Tags] Verify_OCC_State_When_Host_Is_Booted 46*05d42feeSGeorge Keishing 47*05d42feeSGeorge Keishing Verify OCC State ${1} 48*05d42feeSGeorge Keishing 49*05d42feeSGeorge Keishing 50*05d42feeSGeorge KeishingVerify OCC State After Host Reboot 51*05d42feeSGeorge Keishing [Documentation] Verify OCC state and count after host reboot. 52*05d42feeSGeorge Keishing [Tags] Verify_OCC_State_After_Host_Reboot 53*05d42feeSGeorge Keishing 54*05d42feeSGeorge Keishing ${occ_count_before}= Count OCC Object Entry 55*05d42feeSGeorge Keishing Verify OCC State ${1} 56*05d42feeSGeorge Keishing RF SYS GracefulRestart 57*05d42feeSGeorge Keishing Verify OCC State ${1} 58*05d42feeSGeorge Keishing ${occ_count_after}= Count OCC Object Entry 59*05d42feeSGeorge Keishing Should be Equal ${occ_count_before} ${occ_count_after} 60*05d42feeSGeorge Keishing 61*05d42feeSGeorge Keishing 62*05d42feeSGeorge KeishingVerify OCC State After BMC Reset 63*05d42feeSGeorge Keishing [Documentation] Verify OCC state and count after BMC reset. 64*05d42feeSGeorge Keishing [Tags] Verify_OCC_State_After_BMC_Reset 65*05d42feeSGeorge Keishing 66*05d42feeSGeorge Keishing ${occ_count_before}= Count OCC Object Entry 67*05d42feeSGeorge Keishing Redfish OBMC Reboot (run) 68*05d42feeSGeorge Keishing Verify OCC State ${1} 69*05d42feeSGeorge Keishing ${occ_count_after}= Count OCC Object Entry 70*05d42feeSGeorge Keishing Should be Equal ${occ_count_before} ${occ_count_after} 71*05d42feeSGeorge Keishing 72*05d42feeSGeorge Keishing 73*05d42feeSGeorge KeishingVerify OCC State At Standby 74*05d42feeSGeorge Keishing [Documentation] Verify OCC state at standby. 75*05d42feeSGeorge Keishing [Tags] Verify_OCC_State_At_Standby 76*05d42feeSGeorge Keishing 77*05d42feeSGeorge Keishing Redfish Power Off stack_mode=normal 78*05d42feeSGeorge Keishing Verify OCC State ${0} 79*05d42feeSGeorge Keishing 80*05d42feeSGeorge Keishing*** Keywords *** 81*05d42feeSGeorge Keishing 82*05d42feeSGeorge KeishingSuite Setup Execution 83*05d42feeSGeorge Keishing [Documentation] Do the initial test suite setup. 84*05d42feeSGeorge Keishing 85*05d42feeSGeorge Keishing Redfish Power On 86*05d42feeSGeorge Keishing Count OCC Object Entry 87*05d42feeSGeorge Keishing 88*05d42feeSGeorge KeishingCount OCC Object Entry 89*05d42feeSGeorge Keishing [Documentation] Count OCC object entry and set count. 90*05d42feeSGeorge Keishing 91*05d42feeSGeorge Keishing ${object_count}= Count Object Entries ${OPENPOWER_CONTROL} occ* 92*05d42feeSGeorge Keishing Set Suite Variable ${occ_count] ${object_count} 93*05d42feeSGeorge Keishing 94*05d42feeSGeorge Keishing 95*05d42feeSGeorge KeishingTest Teardown Execution 96*05d42feeSGeorge Keishing [Documentation] Do the post test teardown. 97*05d42feeSGeorge Keishing # - Capture FFDC on test failure. 98*05d42feeSGeorge Keishing # - Delete error logs. 99*05d42feeSGeorge Keishing # - Close all open SSH connections. 100*05d42feeSGeorge Keishing 101*05d42feeSGeorge Keishing FFDC On Test Case Fail 102*05d42feeSGeorge Keishing Redfish.Login 103*05d42feeSGeorge Keishing Redfish Purge Event Log 104*05d42feeSGeorge Keishing Close All Connections 105