diff options
author | Brad Bishop <bradleyb@fuzziesquirrel.com> | 2018-08-31 13:25:51 +0300 |
---|---|---|
committer | Brad Bishop <bradleyb@fuzziesquirrel.com> | 2018-09-06 14:44:12 +0300 |
commit | ff075f6ee795a590b244d70a90cc312ba1f2d83d (patch) | |
tree | a617790bdbfdeef960665ba0242e1f0c93e5301a /meta-phosphor/recipes-phosphor/watchdog | |
parent | 3e4da38c127bb7e7641adc2fc41f4c33744cb918 (diff) | |
download | openbmc-ff075f6ee795a590b244d70a90cc312ba1f2d83d.tar.xz |
meta-phosphor: Move layer content from common/
Adopt a more conventional directory hierarchy. meta-phosphor is still
a _long_ way from suitable for hosting on yoctoproject.org but things
like this don't help.
(From meta-phosphor rev: 471cfcefa74b8c7ceb704cb670e6d915cf27c63b)
Change-Id: I3f106b2f6cdc6cec734be28a6090800546f362eb
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
Diffstat (limited to 'meta-phosphor/recipes-phosphor/watchdog')
5 files changed, 79 insertions, 0 deletions
diff --git a/meta-phosphor/recipes-phosphor/watchdog/phosphor-watchdog.bb b/meta-phosphor/recipes-phosphor/watchdog/phosphor-watchdog.bb new file mode 100644 index 000000000..fe9436522 --- /dev/null +++ b/meta-phosphor/recipes-phosphor/watchdog/phosphor-watchdog.bb @@ -0,0 +1,50 @@ +SUMMARY = "Phosphor Watchdog application" +DESCRIPTION = "Application that implements software watchdog" +HOMEPAGE = "http://github.com/openbmc/phosphor-watchdog" +PR = "r1" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" +inherit autotools pkgconfig +inherit obmc-phosphor-dbus-service + +RPROVIDES_${PN} += "virtual/obmc-watchdog" +PROVIDES += "virtual/obmc-watchdog" + +DEPENDS += "autoconf-archive-native" +DEPENDS += "sdbusplus sdbusplus-native" +DEPENDS += "phosphor-dbus-interfaces" +DEPENDS += "phosphor-logging" +RDEPENDS_${PN} += "libsystemd" +RDEPENDS_${PN} += "phosphor-logging" + +SRC_URI += "git://github.com/openbmc/phosphor-watchdog" +SRCREV = "d5353086a46402c95d6079c033e9d2f3555c6b5f" +S = "${WORKDIR}/git" + +# Copies config file having arguments for host watchdog +SYSTEMD_ENVIRONMENT_FILE_${PN} +="obmc/watchdog/poweron" + +# Install the override to set up a Conflicts relation +SYSTEMD_OVERRIDE_${PN} += "poweron.conf:phosphor-watchdog@poweron.service.d/poweron.conf" + +# For now, watching PowerOn is the only usecase +OBMC_HOST_WATCHDOG_INSTANCES = "poweron" + +# This is really a DBUS service but the service name is +# an argument, so making it this way. +WATCHDOG_TMPL = "phosphor-watchdog@.service" +ENABLE_WATCHDOG_TMPL = "obmc-enable-host-watchdog@.service" +SYSTEMD_SERVICE_${PN} += "${WATCHDOG_TMPL}" + +# To Enable Host Watchdog early during poweron +SYSTEMD_SERVICE_${PN} += "${ENABLE_WATCHDOG_TMPL}" + +WATCHDOG_TGTFMT = "phosphor-watchdog@{0}.service" +ENABLE_WATCHDOG_TGTFMT = "obmc-enable-host-watchdog@{0}.service" + +WATCHDOG_FMT = "../${WATCHDOG_TMPL}:obmc-host-startmin@{1}.target.wants/${WATCHDOG_TGTFMT}" +ENABLE_WATCHDOG_FMT = "../${ENABLE_WATCHDOG_TMPL}:obmc-host-startmin@{0}.target.wants/${ENABLE_WATCHDOG_TGTFMT}" + +SYSTEMD_LINK_${PN} += "${@compose_list(d, 'WATCHDOG_FMT', 'OBMC_HOST_WATCHDOG_INSTANCES', 'OBMC_HOST_INSTANCES')}" +SYSTEMD_LINK_${PN} += "${@compose_list(d, 'ENABLE_WATCHDOG_FMT', 'OBMC_HOST_INSTANCES')}" diff --git a/meta-phosphor/recipes-phosphor/watchdog/phosphor-watchdog/obmc-enable-host-watchdog@.service b/meta-phosphor/recipes-phosphor/watchdog/phosphor-watchdog/obmc-enable-host-watchdog@.service new file mode 100644 index 000000000..0cf5e7cd3 --- /dev/null +++ b/meta-phosphor/recipes-phosphor/watchdog/phosphor-watchdog/obmc-enable-host-watchdog@.service @@ -0,0 +1,14 @@ +[Unit] +Description=Start Watchdog%i +Wants=obmc-host-started@%i.target +After=obmc-host-started@%i.target +Wants=mapper-wait@-xyz-openbmc_project-watchdog-host%i.service +After=mapper-wait@-xyz-openbmc_project-watchdog-host%i.service +Conflicts=obmc-host-stop@%i.target +ConditionPathExists=!/run/openbmc/host@%i-on + +[Service] +Type=oneshot +ExecStart=/bin/sh -c "busctl call `mapper get-service /xyz/openbmc_project/watchdog/host%i` /xyz/openbmc_project/watchdog/host%i org.freedesktop.DBus.Properties Set ssv xyz.openbmc_project.State.Watchdog Enabled b true" +RemainAfterExit=yes +SyslogIdentifier=obmc-enable-host-watchdog diff --git a/meta-phosphor/recipes-phosphor/watchdog/phosphor-watchdog/obmc/watchdog/poweron b/meta-phosphor/recipes-phosphor/watchdog/phosphor-watchdog/obmc/watchdog/poweron new file mode 100644 index 000000000..591d6dcd7 --- /dev/null +++ b/meta-phosphor/recipes-phosphor/watchdog/phosphor-watchdog/obmc/watchdog/poweron @@ -0,0 +1,3 @@ +DEVPATH=/xyz/openbmc_project/watchdog/host0 +SERVICE=xyz.openbmc_project.Watchdog +TARGET=obmc-host-timeout@0.target diff --git a/meta-phosphor/recipes-phosphor/watchdog/phosphor-watchdog/phosphor-watchdog@.service b/meta-phosphor/recipes-phosphor/watchdog/phosphor-watchdog/phosphor-watchdog@.service new file mode 100644 index 000000000..52c129025 --- /dev/null +++ b/meta-phosphor/recipes-phosphor/watchdog/phosphor-watchdog/phosphor-watchdog@.service @@ -0,0 +1,8 @@ +[Unit] +Description=Phosphor %I watchdog + +[Service] +Restart=no +EnvironmentFile={envfiledir}/obmc/watchdog/%I +ExecStart=/usr/bin/env phosphor-watchdog --continue --service=${{SERVICE}} --path=${{DEVPATH}} --target=${{TARGET}} +SyslogIdentifier=phosphor-watchdog diff --git a/meta-phosphor/recipes-phosphor/watchdog/phosphor-watchdog/poweron.conf b/meta-phosphor/recipes-phosphor/watchdog/phosphor-watchdog/poweron.conf new file mode 100644 index 000000000..b25324982 --- /dev/null +++ b/meta-phosphor/recipes-phosphor/watchdog/phosphor-watchdog/poweron.conf @@ -0,0 +1,4 @@ +[Unit] +Conflicts=obmc-host-stop@0.target +Conflicts=obmc-chassis-poweroff@0.target +Conflicts=obmc-host-quiesce@0.target |