summaryrefslogtreecommitdiff
path: root/meta-phosphor/recipes-phosphor/watchdog
diff options
context:
space:
mode:
authorBrad Bishop <bradleyb@fuzziesquirrel.com>2018-08-31 13:25:51 +0300
committerBrad Bishop <bradleyb@fuzziesquirrel.com>2018-09-06 14:44:12 +0300
commitff075f6ee795a590b244d70a90cc312ba1f2d83d (patch)
treea617790bdbfdeef960665ba0242e1f0c93e5301a /meta-phosphor/recipes-phosphor/watchdog
parent3e4da38c127bb7e7641adc2fc41f4c33744cb918 (diff)
downloadopenbmc-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')
-rw-r--r--meta-phosphor/recipes-phosphor/watchdog/phosphor-watchdog.bb50
-rw-r--r--meta-phosphor/recipes-phosphor/watchdog/phosphor-watchdog/obmc-enable-host-watchdog@.service14
-rw-r--r--meta-phosphor/recipes-phosphor/watchdog/phosphor-watchdog/obmc/watchdog/poweron3
-rw-r--r--meta-phosphor/recipes-phosphor/watchdog/phosphor-watchdog/phosphor-watchdog@.service8
-rw-r--r--meta-phosphor/recipes-phosphor/watchdog/phosphor-watchdog/poweron.conf4
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 0000000000..fe94365225
--- /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 0000000000..0cf5e7cd37
--- /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 0000000000..591d6dcd7c
--- /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 0000000000..52c1290256
--- /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 0000000000..b253249829
--- /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