diff options
author | Charles Boyer <Charles.Boyer@fii-usa.com> | 2021-08-28 00:09:03 +0300 |
---|---|---|
committer | Vivekanand Veeracholan <vveerach@google.com> | 2021-11-11 01:46:50 +0300 |
commit | 17b216ac6c9762ea781786787c1ccc9199e291c3 (patch) | |
tree | 0a544aca4ce153ea713e3293f83375dbd7f092a9 /meta-fii | |
parent | 200e8ca29afb46d10989210532bb2dccc76b4959 (diff) | |
download | openbmc-17b216ac6c9762ea781786787c1ccc9199e291c3.tar.xz |
meta-fii/meta-kudo: Customize chassis power cycle action
Instead of a host or chassis restart for a Chassis PowerCycle,
have both the BMC and host perform a hard reset. This requires
changes to phosphor-state-manager to add the handling of
xyz.openbmc_project.State.Chassis.Transition.PowerCycle. Currently,
there is handling for On and Off, but not PowerCycle.
Signed-off-by: Charles Boyer <Charles.Boyer@fii-usa.com>
Change-Id: I3d934c47a68899b2fd8fcba966f8d92c97554a77
Diffstat (limited to 'meta-fii')
4 files changed, 24 insertions, 1 deletions
diff --git a/meta-fii/meta-kudo/recipes-kudo/host/ampere-hostctrl.bb b/meta-fii/meta-kudo/recipes-kudo/host/ampere-hostctrl.bb index 77ad9d5a1..327053cc9 100644 --- a/meta-fii/meta-kudo/recipes-kudo/host/ampere-hostctrl.bb +++ b/meta-fii/meta-kudo/recipes-kudo/host/ampere-hostctrl.bb @@ -14,6 +14,7 @@ SRC_URI = "file://ampere-host-shutdown.service \ file://ampere_power_util.sh \ file://ampere-chassis-poweroff.service \ file://ampere-chassis-poweron.service \ + file://ampere-chassis-powercycle.service \ file://ampere-host-shutdown-ack.service \ file://ampere-host-force-reset.service \ file://ampere-host-power-cycle.service \ @@ -28,6 +29,7 @@ SYSTEMD_SERVICE:${PN} = " \ ampere-host-reset.service \ ampere-chassis-poweroff.service \ ampere-chassis-poweron.service \ + ampere-chassis-powercycle.service \ ampere-host-shutdown-ack.service \ ampere-host-force-reset.service \ ampere-host-power-cycle.service \ @@ -68,6 +70,11 @@ CHASSIS_POWEROFF_TGTFMT = "obmc-chassis-poweroff@{0}.target" CHASSIS_POWEROFF_FMT = "../${CHASSIS_POWEROFF_SVC}:${CHASSIS_POWEROFF_TGTFMT}.requires/${CHASSIS_POWEROFF_SVC}" SYSTEMD_LINK:${PN} += "${@compose_list_zip(d, 'CHASSIS_POWEROFF_FMT', 'OBMC_CHASSIS_INSTANCES')}" +CHASSIS_POWERCYCLE_SVC = "ampere-chassis-powercycle.service" +CHASSIS_POWERCYCLE_TGTFMT = "obmc-chassis-powercycle@{0}.target" +CHASSIS_POWERCYCLE_FMT = "../${CHASSIS_POWERCYCLE_SVC}:${CHASSIS_POWERCYCLE_TGTFMT}.requires/${CHASSIS_POWERCYCLE_SVC}" +SYSTEMD_LINK_${PN} += "${@compose_list_zip(d, 'CHASSIS_POWERCYCLE_FMT', 'OBMC_CHASSIS_INSTANCES')}" + TMPL = "phosphor-gpio-monitor@.service" INSTFMT = "phosphor-gpio-monitor@{0}.service" TGT = "multi-user.target" diff --git a/meta-fii/meta-kudo/recipes-kudo/host/ampere-hostctrl/ampere-chassis-powercycle.service b/meta-fii/meta-kudo/recipes-kudo/host/ampere-hostctrl/ampere-chassis-powercycle.service new file mode 100644 index 000000000..c55fcd3db --- /dev/null +++ b/meta-fii/meta-kudo/recipes-kudo/host/ampere-hostctrl/ampere-chassis-powercycle.service @@ -0,0 +1,8 @@ +[Unit] +Description=Ampere Computing LLC Power OFF Chassis + +[Service] +RemainAfterExit=no +Type=oneshot +ExecStart=/usr/bin/env ampere_power_util.sh mb hotswap +SyslogIdentifier=ampere_power_util.sh diff --git a/meta-fii/meta-kudo/recipes-kudo/host/files/ampere_power_util.sh b/meta-fii/meta-kudo/recipes-kudo/host/files/ampere_power_util.sh index 8d58a0827..905c7f23a 100644 --- a/meta-fii/meta-kudo/recipes-kudo/host/files/ampere_power_util.sh +++ b/meta-fii/meta-kudo/recipes-kudo/host/files/ampere_power_util.sh @@ -4,7 +4,11 @@ source /usr/sbin/kudo-lib.sh # Usage of this utility function usage() { - echo "usage: power-util mb [on|off|graceful_shutdown|force_reset|shutdown_ack]"; + echo "usage: power-util mb [on|off|graceful_shutdown|force_reset|shutdown_ack|hotswap]"; +} + +hotswap() { + kudo.sh rst hotswap } force_off() { @@ -113,6 +117,8 @@ elif [ $2 = "off" ]; then force_off fi fi +elif [[ $2 == "hotswap" ]]; then + hotswap elif [[ $2 == "graceful_shutdown" ]]; then graceful_shutdown elif [ $2 == "force_reset" ]; then diff --git a/meta-fii/meta-kudo/recipes-phosphor/state/phosphor-state-manager_%.bbappend b/meta-fii/meta-kudo/recipes-phosphor/state/phosphor-state-manager_%.bbappend index 57e3aa6c8..bbd60bb3f 100644 --- a/meta-fii/meta-kudo/recipes-phosphor/state/phosphor-state-manager_%.bbappend +++ b/meta-fii/meta-kudo/recipes-phosphor/state/phosphor-state-manager_%.bbappend @@ -1,5 +1,7 @@ FILESEXTRAPATHS:prepend:kudo := "${THISDIR}/${PN}:" +CHASSIS_ACTION_TARGETS:append:kudo = " powercycle" + SRC_URI:append:kudo = " \ file://xyz.openbmc_project.State.Chassis.service \ " |