1*** Settings *** 2Documentation Verify Auto Restart policy for set of mission critical 3... services needed for functioning on BMC. 4 5Resource ../../lib/resource.robot 6Resource ../../lib/connection_client.robot 7Resource ../../lib/openbmc_ffdc.robot 8Resource ../../lib/utils.robot 9 10Suite Setup Open Connection And Log In 11Suite Teardown Close All Connections 12Test Teardown FFDC On Test Case Fail 13 14*** Variables *** 15${LOG_SERVICE} xyz.openbmc_project.Logging.service 16 17*** Test Cases *** 18 19Verify OpenBMC Services Auto Restart Policy 20 [Documentation] Kill active services and expect auto restart. 21 [Tags] Verify_OpenBMC_Services_Auto_Restart_Policy 22 # The services listed below restart policy should be "always" 23 # Command output: 24 # systemctl -p Restart show xyz.openbmc_project.Logging.service | cat 25 # Restart=always 26 @{services}= 27 ... Create List xyz.openbmc_project.Logging.service 28 ... xyz.openbmc_project.ObjectMapper.service 29 ... xyz.openbmc_project.State.BMC.service 30 ... xyz.openbmc_project.State.Chassis.service 31 ... xyz.openbmc_project.State.Host.service 32 FOR ${SERVICE} IN @{services} 33 Check Service Autorestart ${SERVICE} 34 END 35 36 37Kill Services And Expect Service Restart 38 [Documentation] Kill the service and it must restart. 39 [Tags] Kill_Services_And_Expect_Service_Restart 40 41 # Get the MainPID and service state. 42 ${MainPID}= Get Service Attribute MainPID ${LOG_SERVICE} 43 Should Not Be Equal ${0} ${MainPID} 44 ... msg=Logging service not restarted. 45 46 ${ActiveState}= Get Service Attribute ActiveState ${LOG_SERVICE} 47 Should Be Equal active ${ActiveState} 48 ... msg=Logging Service not in active state. 49 50 BMC Execute Command kill -9 ${MainPID} 51 Sleep 10s reason=Wait for service to restart. 52 53 ${MainPID}= Get Service Attribute MainPID ${LOG_SERVICE} 54 Should Not Be Equal ${0} ${MainPID} 55 ... msg=Logging service not restarted. 56 57 ${ActiveState}= Get Service Attribute ActiveState ${LOG_SERVICE} 58 Should Be Equal active ${ActiveState} 59 ... msg=Logging service not in active state. 60 61 62*** Keywords *** 63 64Check Service Autorestart 65 [Documentation] Check if given policy is "always". 66 [Arguments] ${servicename} 67 # servicename Qualified service name 68 ${restart_policy}= Get Service Attribute Restart ${servicename} 69 Should Be Equal always ${restart_policy} 70 ... msg=Incorrect policy for ${servicename} 71