Add support for rebootoff and rebooton
This patchset adds support to Enable/Disable Automatic reboot from Quiesce state
Tested:
obmcutil rebooton : AutoReboot was set to true
obmcutil rebootoff : AutoReboot was set to false
D-Bus object: /xyz/openbmc_project/control/host0/auto_reboot
Change-Id: I934cdac434b4321d0226b71a1593b1e696b4759c
Signed-off-by: Vishwanatha Subbanna <vishwa@linux.vnet.ibm.com>
diff --git a/obmcutil b/obmcutil
old mode 100644
new mode 100755
index 59a1801..6cfdee5
--- a/obmcutil
+++ b/obmcutil
@@ -3,16 +3,18 @@
set -euo pipefail
OPTS="bmcstate,bootprogress,chassiskill,chassisoff,chassison,chassisstate,hoststate,\
-osstate,power,poweroff,poweron,state,status"
+osstate,power,poweroff,poweron,state,status,rebootoff,rebooton"
USAGE="Usage: obmcutil [-h] [--wait] [--verbose]
{$OPTS}"
INTERFACE_ROOT=xyz.openbmc_project
STATE_INTERFACE=$INTERFACE_ROOT.State
+CONTROL_INTERFACE=$INTERFACE_ROOT.Control
OBJECT_ROOT=/xyz/openbmc_project
STATE_OBJECT=$OBJECT_ROOT/state
+CONTROL_OBJECT=$OBJECT_ROOT/control
## NOTE: The following global variables are used only in the run_timeout cmd.
## By declaring these globally instead of passing them through the
@@ -40,6 +42,11 @@
echo "positional arguments:"
echo " {$OPTS}"
echo ""
+ echo "Examples:"
+ echo ""
+ echo "obmcutil rebootoff Disable auto reboot from Quiesce state"
+ echo "obmcutil rebooton Enable auto reboot from Quiesce state"
+ echo ""
echo "optional arguments:"
echo " -h, --help show this help message and exit"
echo " -w, --wait block until state transition succeeds or fails"
@@ -227,6 +234,22 @@
chassiskill)
/usr/libexec/chassiskill
;;
+ rebootoff)
+ OBJECT=$CONTROL_OBJECT/host0/auto_reboot
+ SERVICE=$(mapper get-service $OBJECT)
+ INTERFACE=$CONTROL_INTERFACE.Boot.RebootPolicy
+ PROPERTY=AutoReboot
+ VALUE=false
+ set_property $SERVICE $OBJECT $INTERFACE $PROPERTY "b" $VALUE
+ ;;
+ rebooton)
+ OBJECT=$CONTROL_OBJECT/host0/auto_reboot
+ SERVICE=$(mapper get-service $OBJECT)
+ INTERFACE=$CONTROL_INTERFACE.Boot.RebootPolicy
+ PROPERTY=AutoReboot
+ VALUE=true
+ set_property $SERVICE $OBJECT $INTERFACE $PROPERTY "b" $VALUE
+ ;;
*)
print_usage_err "Invalid command '$1'"
;;