summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnthony Wilson <wilsonan@us.ibm.com>2018-09-13 14:47:56 -0500
committerAnthony Wilson <wilsonan@us.ibm.com>2018-10-23 10:40:37 -0500
commit3ae0a3549adbd98ea0dbeedb2caa76ed8283472c (patch)
treee152864dd1db84784d58f811aafd408e56f7fcd9
parent0f35983dd47670c9ecf261071b56f03deafdabf6 (diff)
downloadphosphor-state-manager-3ae0a3549adbd98ea0dbeedb2caa76ed8283472c.tar.gz
phosphor-state-manager-3ae0a3549adbd98ea0dbeedb2caa76ed8283472c.zip
obmcutil: Added {power,chassis}{on,off} options
The base functions of these options have been implemented, so power ons/offs can be performed. However, the 'verbose' and 'wait' functionality associated with them from the python version of the script has not been implemented here (yet). So there is no error checking in the case of on/off failures at this moment. 'chassiskill' has also not been implemented here and is planned to be implemented in its own script. The option may be added to this script as a call to the other script when that gets implemented. Change-Id: I739f0a74e90fb4727fd3333d2a601da1dc49799c Signed-off-by: Anthony Wilson <wilsonan@us.ibm.com>
-rw-r--r--obmcutil40
1 files changed, 39 insertions, 1 deletions
diff --git a/obmcutil b/obmcutil
index 68b5454..61c85dd 100644
--- a/obmcutil
+++ b/obmcutil
@@ -2,7 +2,8 @@
set -euo pipefail
-OPTS="bmcstate,bootprogress,chassisstate,hoststate,power,state,status"
+OPTS="bmcstate,bootprogress,chassisoff,chassison,chassisstate,hoststate,\
+power,poweroff,poweron,state,status"
USAGE="Usage: obmcutil [-h]
{$OPTS}"
@@ -25,6 +26,11 @@ print_help ()
exit 0
}
+set_property ()
+{
+ busctl set-property "$@"
+}
+
get_property ()
{
busctl get-property "$@"
@@ -39,6 +45,38 @@ state_query ()
handle_cmd ()
{
case "$1" in
+ chassisoff)
+ OBJECT=$STATE_OBJECT/chassis0
+ SERVICE=$(mapper get-service $OBJECT)
+ INTERFACE=$STATE_INTERFACE.Chassis
+ PROPERTY=RequestedPowerTransition
+ VALUE=$INTERFACE.Transition.Off
+ set_property $SERVICE $OBJECT $INTERFACE $PROPERTY "s" $VALUE
+ ;;
+ chassison)
+ OBJECT=$STATE_OBJECT/chassis0
+ SERVICE=$(mapper get-service $OBJECT)
+ INTERFACE=$STATE_INTERFACE.Chassis
+ PROPERTY=RequestedPowerTransition
+ VALUE=$INTERFACE.Transition.On
+ set_property $SERVICE $OBJECT $INTERFACE $PROPERTY "s" $VALUE
+ ;;
+ poweroff)
+ OBJECT=$STATE_OBJECT/host0
+ SERVICE=$(mapper get-service $OBJECT)
+ INTERFACE=$STATE_INTERFACE.Host
+ PROPERTY=RequestedHostTransition
+ VALUE=$INTERFACE.Transition.Off
+ set_property $SERVICE $OBJECT $INTERFACE $PROPERTY "s" $VALUE
+ ;;
+ poweron)
+ OBJECT=$STATE_OBJECT/host0
+ SERVICE=$(mapper get-service $OBJECT)
+ INTERFACE=$STATE_INTERFACE.Host
+ PROPERTY=RequestedHostTransition
+ VALUE=$INTERFACE.Transition.On
+ set_property $SERVICE $OBJECT $INTERFACE $PROPERTY "s" $VALUE
+ ;;
bmcstate)
OBJECT=$STATE_OBJECT/bmc0
SERVICE=$(mapper get-service $OBJECT)
OpenPOWER on IntegriCloud