meta-facebook: yosemite4: enhance power control events

1. Add event logs while power control is failed

Change-Id: Ib5f7e0c139004ecce765a9ad4ef5ee0b4566b7fe
Signed-off-by: Bright Cheng <bright_cheng@wiwynn.com>
diff --git a/meta-facebook/meta-yosemite4/recipes-phosphor/state/phosphor-state-manager/chassis-powercycle b/meta-facebook/meta-yosemite4/recipes-phosphor/state/phosphor-state-manager/chassis-powercycle
index 448b7be..fe7233e 100644
--- a/meta-facebook/meta-yosemite4/recipes-phosphor/state/phosphor-state-manager/chassis-powercycle
+++ b/meta-facebook/meta-yosemite4/recipes-phosphor/state/phosphor-state-manager/chassis-powercycle
@@ -43,13 +43,17 @@
             sleep 1
             if ! gpio_set "$GPIOCHIP_IO_EXP_SLOT_PWR_CTRL" "$IO_EXP_SLOT_PWR_CTRL"=1
             then
-                echo "Failed to set slot$1 power off"
+                msg="Failed to set slot$CHASSIS_ID power off"
+                echo "${msg}"
+                add_sel "${msg}"
             fi
             sleep 20
         fi
         if ! gpio_set "$GPIOCHIP_IO_EXP_SLOT_PWR_CTRL" "$IO_EXP_SLOT_PWR_CTRL"=0
         then
-            echo "Failed to set slot$1 power on"
+            msg="Failed to set slot$CHASSIS_ID power on"
+            echo "${msg}"
+            add_sel "${msg}"
         fi
         sleep 2
 
@@ -67,10 +71,15 @@
             fi
             busctl set-property "$CHASSIS_BUS_NAME""$CHASSIS_ID" "$CHASSIS_OBJ_PATH""$CHASSIS_ID" "$CHASSIS_INTF_NAME" "$CHASSIS_PROPERTY_NAME" s "$CHASSIS_ON_PROPERTY"
             /usr/libexec/phosphor-state-manager/wait-until-mctp-connection-done "$CHASSIS_ID" && systemctl restart "phosphor-discover-system-state@$CHASSIS_ID.service"
-            echo "Chassis$CHASSIS_ID cycle success"
+            msg="Chassis$CHASSIS_ID cycle success"
+            echo "${msg}"
+            add_sel "${msg}"
             exit 0;
         else
             busctl set-property "$CHASSIS_BUS_NAME""$CHASSIS_ID" "$CHASSIS_OBJ_PATH""$CHASSIS_ID" "$CHASSIS_INTF_NAME" "$CHASSIS_PROPERTY_NAME" s "$CHASSIS_OFF_PROPERTY"
+            msg="Chassis$CHASSIS_ID cycle failed, Chassis$CHASSIS_ID is power off"
+            echo "${msg}"
+            add_sel "${msg}"
             exit 1;
         fi
     fi
diff --git a/meta-facebook/meta-yosemite4/recipes-phosphor/state/phosphor-state-manager/chassis-poweroff b/meta-facebook/meta-yosemite4/recipes-phosphor/state/phosphor-state-manager/chassis-poweroff
index b717554..61a7f09 100644
--- a/meta-facebook/meta-yosemite4/recipes-phosphor/state/phosphor-state-manager/chassis-poweroff
+++ b/meta-facebook/meta-yosemite4/recipes-phosphor/state/phosphor-state-manager/chassis-poweroff
@@ -30,7 +30,9 @@
         sleep 1
         if ! gpio_set "$GPIOCHIP_IO_EXP_SLOT_PWR_CTRL" "$IO_EXP_SLOT_PWR_CTRL"=1
         then
-                echo "Failed to set slot$1 power off"
+                msg="Failed to set slot$CHASSIS_ID power off"
+                echo "${msg}"
+                add_sel "${msg}"
         fi
         sleep 1
 
@@ -42,7 +44,9 @@
                 echo "Chassis$CHASSIS_ID is power off"
         else
                 busctl set-property "$CHASSIS_BUS_NAME""$CHASSIS_ID" "$CHASSIS_OBJ_PATH""$CHASSIS_ID" "$CHASSIS_INTF_NAME" "$CHASSIS_PROPERTY_NAME" s "$CHASSIS_ON_PROPERTY"
-                echo "Chassis$CHASSIS_ID is power on"
+                msg="Failed to power off Chassis$CHASSIS_ID, Chassis$CHASSIS_ID is power on"
+                echo "${msg}"
+                add_sel "${msg}"
                 exit 0;
         fi
 }
diff --git a/meta-facebook/meta-yosemite4/recipes-phosphor/state/phosphor-state-manager/chassis-poweron b/meta-facebook/meta-yosemite4/recipes-phosphor/state/phosphor-state-manager/chassis-poweron
index 386cfc2..4922c8a 100644
--- a/meta-facebook/meta-yosemite4/recipes-phosphor/state/phosphor-state-manager/chassis-poweron
+++ b/meta-facebook/meta-yosemite4/recipes-phosphor/state/phosphor-state-manager/chassis-poweron
@@ -25,7 +25,9 @@
 {
     if ! gpio_set "$GPIOCHIP_IO_EXP_SLOT_PWR_CTRL" "$IO_EXP_SLOT_PWR_CTRL"=0
     then
-        echo "Failed to set slot$1 power on"
+        msg="Failed to set slot$1 power on"
+        echo "${msg}"
+        add_sel "${msg}"
     fi
     sleep 1
 
@@ -42,10 +44,12 @@
             fi
         fi
         busctl set-property "$CHASSIS_BUS_NAME""$CHASSIS_ID" "$CHASSIS_OBJ_PATH""$CHASSIS_ID" "$CHASSIS_INTF_NAME" "$CHASSIS_PROPERTY_NAME" s "$CHASSIS_ON_PROPERTY"
-        echo "Chassis$1 is power on"
+        echo "Chassis$CHASSIS_ID is power on"
     else
         busctl set-property "$CHASSIS_BUS_NAME""$CHASSIS_ID" "$CHASSIS_OBJ_PATH""$CHASSIS_ID" "$CHASSIS_INTF_NAME" "$CHASSIS_PROPERTY_NAME" s "$CHASSIS_OFF_PROPERTY"
-        echo "Chassis$1 is power off"
+        msg="Failed to power on Chassis$CHASSIS_ID, Chassis$CHASSIS_ID is power off"
+        echo "${msg}"
+        add_sel "${msg}"
         exit 0;
     fi
 }
diff --git a/meta-facebook/meta-yosemite4/recipes-phosphor/state/phosphor-state-manager/host-powercycle b/meta-facebook/meta-yosemite4/recipes-phosphor/state/phosphor-state-manager/host-powercycle
index 517e08f..2e7d316 100644
--- a/meta-facebook/meta-yosemite4/recipes-phosphor/state/phosphor-state-manager/host-powercycle
+++ b/meta-facebook/meta-yosemite4/recipes-phosphor/state/phosphor-state-manager/host-powercycle
@@ -34,7 +34,9 @@
     get_host_status
 
     if [ "$host_status" != "$STATE_OFF" ]; then
-        echo "Do power cycle fail, fail to set host$CHASSIS_ID power off"
+        msg="Do power cycle fail, fail to set host$CHASSIS_ID power off"
+        echo "${msg}"
+        add_sel "${msg}"
         exit 1
     fi
 fi
@@ -48,10 +50,14 @@
     get_host_status
 
     if [ "$host_status" != "$STATE_ON" ]; then
-        echo "Do power cycle, failed to set host$CHASSIS_ID power on"
+        msg="Do power cycle, failed to set host$CHASSIS_ID power on"
+        echo "${msg}"
+        add_sel "${msg}"
         exit 1
     fi
 fi
 
-echo "Host$1 power cycle success"
+msg="Host$1 power cycle success"
+echo "${msg}"
+add_sel "${msg}"
 exit 0;
diff --git a/meta-facebook/meta-yosemite4/recipes-phosphor/state/phosphor-state-manager/host-poweroff b/meta-facebook/meta-yosemite4/recipes-phosphor/state/phosphor-state-manager/host-poweroff
index 12492d2..cdfe724 100644
--- a/meta-facebook/meta-yosemite4/recipes-phosphor/state/phosphor-state-manager/host-poweroff
+++ b/meta-facebook/meta-yosemite4/recipes-phosphor/state/phosphor-state-manager/host-poweroff
@@ -46,6 +46,8 @@
     echo "Host$1 power off success"
     exit 0;
 else
-    echo "Failed to set host$1 power off"
+    msg="Failed to set host$1 power off"
+    echo "${msg}"
+    add_sel "${msg}"
     exit 1
 fi
diff --git a/meta-facebook/meta-yosemite4/recipes-phosphor/state/phosphor-state-manager/host-poweron b/meta-facebook/meta-yosemite4/recipes-phosphor/state/phosphor-state-manager/host-poweron
index 9f84809..7329115 100644
--- a/meta-facebook/meta-yosemite4/recipes-phosphor/state/phosphor-state-manager/host-poweron
+++ b/meta-facebook/meta-yosemite4/recipes-phosphor/state/phosphor-state-manager/host-poweron
@@ -48,6 +48,8 @@
     echo "Host$1 power on success"
     exit 0;
 else
-    echo "Failed to set host$1 power on"
+    msg="Failed to set host$1 power on"
+    echo "${msg}"
+    add_sel "${msg}"
     exit 1
 fi
diff --git a/meta-facebook/meta-yosemite4/recipes-phosphor/state/phosphor-state-manager/host-powerreset b/meta-facebook/meta-yosemite4/recipes-phosphor/state/phosphor-state-manager/host-powerreset
index 082fbbd..8b49c91 100644
--- a/meta-facebook/meta-yosemite4/recipes-phosphor/state/phosphor-state-manager/host-powerreset
+++ b/meta-facebook/meta-yosemite4/recipes-phosphor/state/phosphor-state-manager/host-powerreset
@@ -11,7 +11,9 @@
 EID=$(($1*10))
 if ! pldmtool raw -d 0x80 0x02 0x39 0x00 0x00 0x01 0x00 0x04 -m "$EID"
 then
-    echo "Failed to set host$1 power reset"
+    msg="Failed to set host$1 power reset"
+    echo "${msg}"
+    add_sel "${msg}"
 else
     echo "Host$1 is power reset"
 fi
diff --git a/meta-facebook/meta-yosemite4/recipes-phosphor/state/phosphor-state-manager/power-cmd b/meta-facebook/meta-yosemite4/recipes-phosphor/state/phosphor-state-manager/power-cmd
index 2ac98c4..4d7e759 100644
--- a/meta-facebook/meta-yosemite4/recipes-phosphor/state/phosphor-state-manager/power-cmd
+++ b/meta-facebook/meta-yosemite4/recipes-phosphor/state/phosphor-state-manager/power-cmd
@@ -44,3 +44,13 @@
   done
   echo "gpioset failed"
 }
+
+add_sel()
+{
+  MESSAGE="$*"
+
+  busctl call \
+    xyz.openbmc_project.Logging /xyz/openbmc_project/logging \
+    xyz.openbmc_project.Logging.Create Create "ssa{ss}" "$MESSAGE" \
+    xyz.openbmc_project.Logging.Entry.Level.Error 0
+}