summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta-phosphor/common/recipes-core/systemd/obmc-targets.bb11
-rw-r--r--meta-phosphor/common/recipes-core/systemd/obmc-targets/obmc-host-crash@.target4
2 files changed, 14 insertions, 1 deletions
diff --git a/meta-phosphor/common/recipes-core/systemd/obmc-targets.bb b/meta-phosphor/common/recipes-core/systemd/obmc-targets.bb
index ae530accc..5f2a1c0e2 100644
--- a/meta-phosphor/common/recipes-core/systemd/obmc-targets.bb
+++ b/meta-phosphor/common/recipes-core/systemd/obmc-targets.bb
@@ -35,7 +35,10 @@ HOST_SYNCH_TARGETS = "start-pre starting started stop-pre stopping stopped reset
# - quiesce: Target to enter on host boot failure
# - shutdown: Tell host to shutdown, then stop system
# - reset: Services to check if host is running and update host "start" target
-HOST_ACTION_TARGETS = "start stop quiesce reset shutdown"
+# - 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"
CHASSIS_SYNCH_FMT = "obmc-power-{0}@.target"
CHASSIS_ACTION_FMT = "obmc-chassis-power{0}@.target"
@@ -48,6 +51,11 @@ HOST_LINK_SYNCH_FMT = "${HOST_SYNCH_FMT}:obmc-host-{0}@{1}.target"
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"
+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}"
+
SYSTEMD_SERVICE_${PN} += " \
obmc-mapper.target \
obmc-webserver-pre.target \
@@ -67,3 +75,4 @@ SYSTEMD_LINK_${PN} += "${@compose_list(d, 'CHASSIS_LINK_ACTION_FMT', 'CHASSIS_AC
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')}"
diff --git a/meta-phosphor/common/recipes-core/systemd/obmc-targets/obmc-host-crash@.target b/meta-phosphor/common/recipes-core/systemd/obmc-targets/obmc-host-crash@.target
new file mode 100644
index 000000000..ea3798b52
--- /dev/null
+++ b/meta-phosphor/common/recipes-core/systemd/obmc-targets/obmc-host-crash@.target
@@ -0,0 +1,4 @@
+[Unit]
+Description=Host instance %i crashed
+Conflicts=obmc-chassis-poweroff@%i.target
+RefuseManualStop=yes
OpenPOWER on IntegriCloud