Add host-timeout target

This target gets executed when the host watchdog times out.

Change-Id: Id6711a1b7eab784189daf46bc225398b5cc1790f
Signed-off-by: Vishwanatha Subbanna <vishwa@linux.vnet.ibm.com>
diff --git a/common/recipes-core/systemd/obmc-targets.bb b/common/recipes-core/systemd/obmc-targets.bb
index 5f2a1c0..1763879 100644
--- a/common/recipes-core/systemd/obmc-targets.bb
+++ b/common/recipes-core/systemd/obmc-targets.bb
@@ -38,7 +38,8 @@
 # - crash:   Target to run when host crashes. it is very much similar to
 #            quiesce target but the only delta is that this target contains
 #            multiple services and one of them is the quiesce target.
-HOST_ACTION_TARGETS = "start stop quiesce reset shutdown crash"
+# - timeout: Target to run when host watchdog times out
+HOST_ACTION_TARGETS = "start stop quiesce reset shutdown crash timeout"
 
 CHASSIS_SYNCH_FMT = "obmc-power-{0}@.target"
 CHASSIS_ACTION_FMT = "obmc-chassis-power{0}@.target"
@@ -51,10 +52,13 @@
 HOST_LINK_ACTION_FMT = "${HOST_ACTION_FMT}:obmc-host-{0}@{1}.target"
 FAN_LINK_FMT = "obmc-fan-control-ready@.target:obmc-fan-control-ready@{0}.target"
 
+# Targets to be executed on checkstop and watchdog timeout
+HOST_ERROR_TARGETS = "crash timeout"
+
 QUIESCE_TMPL = "obmc-host-quiesce@.target"
-CRASH_TGTFMT = "obmc-host-crash@{0}.target"
-QUIESCE_INSTFMT = "obmc-host-quiesce@{0}.target"
-CRASH_QUIESCE_FMT = "../${QUIESCE_TMPL}:${CRASH_TGTFMT}.wants/${QUIESCE_INSTFMT}"
+CRASH_TIMEOUT_TGTFMT = "obmc-host-{0}@{1}.target"
+QUIESCE_INSTFMT = "obmc-host-quiesce@{1}.target"
+QUIESCE_FMT = "../${QUIESCE_TMPL}:${CRASH_TIMEOUT_TGTFMT}.wants/${QUIESCE_INSTFMT}"
 
 SYSTEMD_SERVICE_${PN} += " \
         obmc-mapper.target \
@@ -75,4 +79,4 @@
 SYSTEMD_LINK_${PN} += "${@compose_list(d, 'HOST_LINK_SYNCH_FMT', 'HOST_SYNCH_TARGETS', 'OBMC_HOST_INSTANCES')}"
 SYSTEMD_LINK_${PN} += "${@compose_list(d, 'HOST_LINK_ACTION_FMT', 'HOST_ACTION_TARGETS', 'OBMC_HOST_INSTANCES')}"
 SYSTEMD_LINK_${PN} += "${@compose_list(d, 'FAN_LINK_FMT', 'OBMC_CHASSIS_INSTANCES')}"
-SYSTEMD_LINK_${PN} += "${@compose_list(d, 'CRASH_QUIESCE_FMT', 'OBMC_HOST_INSTANCES')}"
+SYSTEMD_LINK_${PN} += "${@compose_list(d, 'QUIESCE_FMT', 'HOST_ERROR_TARGETS', 'OBMC_HOST_INSTANCES')}"
diff --git a/common/recipes-core/systemd/obmc-targets/obmc-host-timeout@.target b/common/recipes-core/systemd/obmc-targets/obmc-host-timeout@.target
new file mode 100644
index 0000000..b87507b
--- /dev/null
+++ b/common/recipes-core/systemd/obmc-targets/obmc-host-timeout@.target
@@ -0,0 +1,4 @@
+[Unit]
+Description=Host instance %i timed out refreshing Watchdog
+Conflicts=obmc-chassis-poweroff@%i.target
+RefuseManualStop=yes