blob: 3da0e76c09f41854773a9da17fe766d009eebf92 [file] [log] [blame]
Potin Laie096c412022-09-01 14:12:25 +08001#!/bin/bash
2
3DBUS_PROPERTIES_INTF_NAME="org.freedesktop.DBus.Properties"
4
5set_host_state()
6{
7 BUS_NAME="xyz.openbmc_project.State.Host$1"
8 OBJ_PATH="/xyz/openbmc_project/state/host$1"
9 INTF_NAME="xyz.openbmc_project.State.Host"
10 PROPERTY_NAME="CurrentHostState"
11 PROPERTY_VAL="xyz.openbmc_project.State.Host.HostState.$2"
12
13 busctl call "$BUS_NAME" "$OBJ_PATH" "$DBUS_PROPERTIES_INTF_NAME" Set ssv "$INTF_NAME" "$PROPERTY_NAME" s "$PROPERTY_VAL"
14}
15
16set_chassis_state()
17{
18 BUS_NAME="xyz.openbmc_project.State.Chassis$1"
19 OBJ_PATH="/xyz/openbmc_project/state/chassis$1"
20 INTF_NAME="xyz.openbmc_project.State.Chassis"
21 PROPERTY_NAME="CurrentPowerState"
22 PROPERTY_VAL="xyz.openbmc_project.State.Chassis.PowerState.$2"
23
24 busctl call "$BUS_NAME" "$OBJ_PATH" "$DBUS_PROPERTIES_INTF_NAME" Set ssv "$INTF_NAME" "$PROPERTY_NAME" s "$PROPERTY_VAL"
25}
26
27INSTENCE_ID="$1"
28HOST_PWR_STATUS=$(/usr/sbin/power-ctrl sled"$1" status)
29
30CHASSIS_STATE_VAL="Off"
31HOST_STATE_VAL="Off"
32
33if [ "$HOST_PWR_STATUS" != "AC Off" ]; then
34 CHASSIS_STATE_VAL="On"
35 if [ "$HOST_PWR_STATUS" != "Off" ]; then
36 HOST_STATE_VAL="Running"
37 fi
38fi
39
40set_chassis_state "$INSTENCE_ID" "$CHASSIS_STATE_VAL"
41set_host_state "$INSTENCE_ID" "$HOST_STATE_VAL"