blob: 3da0e76c09f41854773a9da17fe766d009eebf92 [file] [log] [blame]
#!/bin/bash
DBUS_PROPERTIES_INTF_NAME="org.freedesktop.DBus.Properties"
set_host_state()
{
BUS_NAME="xyz.openbmc_project.State.Host$1"
OBJ_PATH="/xyz/openbmc_project/state/host$1"
INTF_NAME="xyz.openbmc_project.State.Host"
PROPERTY_NAME="CurrentHostState"
PROPERTY_VAL="xyz.openbmc_project.State.Host.HostState.$2"
busctl call "$BUS_NAME" "$OBJ_PATH" "$DBUS_PROPERTIES_INTF_NAME" Set ssv "$INTF_NAME" "$PROPERTY_NAME" s "$PROPERTY_VAL"
}
set_chassis_state()
{
BUS_NAME="xyz.openbmc_project.State.Chassis$1"
OBJ_PATH="/xyz/openbmc_project/state/chassis$1"
INTF_NAME="xyz.openbmc_project.State.Chassis"
PROPERTY_NAME="CurrentPowerState"
PROPERTY_VAL="xyz.openbmc_project.State.Chassis.PowerState.$2"
busctl call "$BUS_NAME" "$OBJ_PATH" "$DBUS_PROPERTIES_INTF_NAME" Set ssv "$INTF_NAME" "$PROPERTY_NAME" s "$PROPERTY_VAL"
}
INSTENCE_ID="$1"
HOST_PWR_STATUS=$(/usr/sbin/power-ctrl sled"$1" status)
CHASSIS_STATE_VAL="Off"
HOST_STATE_VAL="Off"
if [ "$HOST_PWR_STATUS" != "AC Off" ]; then
CHASSIS_STATE_VAL="On"
if [ "$HOST_PWR_STATUS" != "Off" ]; then
HOST_STATE_VAL="Running"
fi
fi
set_chassis_state "$INSTENCE_ID" "$CHASSIS_STATE_VAL"
set_host_state "$INSTENCE_ID" "$HOST_STATE_VAL"