openbmc.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
From: Thang Nguyen OS <thang@amperemail.onmicrosoft.com>
To: "openbmc@lists.ozlabs.org" <openbmc@lists.ozlabs.org>
Subject: Check on bypass phosphor-discover-system-state@.service if BMC not boot from A/C
Date: Fri, 18 Feb 2022 14:36:06 +0700	[thread overview]
Message-ID: <f5183918-e83d-0ba3-397f-bdddccebb8d7@amperemail.onmicrosoft.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 1559 bytes --]

Hi,

We have chassis power policy that users configure so that the Host power 
can be recovered via the setting. In phosphor-state-manager, there is 
phosphor-discover-system-state@.service service to check the power 
restore policy and recover the Host via the policy users configured 
(always-on, always-off, previous). The problem is that when BMC is 
rebooted, the service should not be executed as Host power status should 
not be changed in this case.

Previously, we added a patch in u-boot to add reboot cause to the 
command line, like:

    # cat /proc/cmdline
    console=ttyS4,115200n8 root=/dev/ram rw resetreason=power

Then, add condition to the service to just execute when resetreason=power:

    [Unit]
    ConditionKernelCommandLine=resetreason=power

as now no u-boot patch inside meta-<vendor> is permitted, this approach 
is no longer applicable.

Since the BMC reboot cause feature by Tim Lee at 
https://github.com/openbmc/phosphor-state-manager/commit/2bfb1efc4bc7e781224e19c05b51e6675f13a488 
and with the watchdog driver support, we have the reset cause 
information via both dbus and kernel /sys:

    # cat /sys/class/watchdog/watchdog0/bootstatus
    32

    # busctl get-property xyz.openbmc_project.State.BMC
    /xyz/openbmc_project/state/bmc0 xyz.openbmc_project.State.BMC
    LastRebootCause

    s "xyz.openbmc_project.State.BMC.RebootCause.POR"

I would like to check if you have any idea on how to use the above 
information to prevent the power restore policy executed in case of BMC 
reboot.


Thanks,

Thang Q. Nguyen

[-- Attachment #2: Type: text/html, Size: 2307 bytes --]

             reply	other threads:[~2022-02-18  7:37 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-02-18  7:36 Thang Nguyen OS [this message]
2022-02-18 16:14 ` Check on bypass phosphor-discover-system-state@.service if BMC not boot from A/C Andrew Geissler
2022-02-21  5:51   ` Thang Nguyen OS

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=f5183918-e83d-0ba3-397f-bdddccebb8d7@amperemail.onmicrosoft.com \
    --to=thang@amperemail.onmicrosoft.com \
    --cc=openbmc@lists.ozlabs.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).