summaryrefslogtreecommitdiff
path: root/meta-quanta/meta-gbs/recipes-google/acpi-power-state/acpi-power-state-daemon/gbs-check-host-state.sh
diff options
context:
space:
mode:
Diffstat (limited to 'meta-quanta/meta-gbs/recipes-google/acpi-power-state/acpi-power-state-daemon/gbs-check-host-state.sh')
-rw-r--r--meta-quanta/meta-gbs/recipes-google/acpi-power-state/acpi-power-state-daemon/gbs-check-host-state.sh13
1 files changed, 13 insertions, 0 deletions
diff --git a/meta-quanta/meta-gbs/recipes-google/acpi-power-state/acpi-power-state-daemon/gbs-check-host-state.sh b/meta-quanta/meta-gbs/recipes-google/acpi-power-state/acpi-power-state-daemon/gbs-check-host-state.sh
new file mode 100644
index 000000000..1bff18d08
--- /dev/null
+++ b/meta-quanta/meta-gbs/recipes-google/acpi-power-state/acpi-power-state-daemon/gbs-check-host-state.sh
@@ -0,0 +1,13 @@
+#!/bin/bash
+
+state="xyz.openbmc_project.State.Chassis.PowerState.Off"
+
+dbus-monitor --system type='signal',interface='org.freedesktop.DBus.Properties',\
+member='PropertiesChanged',arg0namespace='xyz.openbmc_project.State.Chassis' | \
+while read -r line; do
+ grep -q member <<< $line && continue
+ if grep -q $state <<< $line; then
+ echo "Setting failsafe assuming host is off" >&2
+ systemctl start --no-block gbs-host-s5-set-failsafe
+ fi
+done