Add OnFailure= options to boot targets

When services associated with a target fail, the
target should go to the quiesce state for error
gathering and policy checks on automated recovery.

Use the OnFailureJobMode=flush to ensure all queued
services are cancelled when entering quiesce.

Change-Id: I4023a9c842500bb57013196aefbded533131ef00
Signed-off-by: Andrew Geissler <andrewg@us.ibm.com>
diff --git a/common/recipes-core/systemd/obmc-targets/obmc-chassis-start@.target b/common/recipes-core/systemd/obmc-targets/obmc-chassis-start@.target
index c8eda8a..c54fea6 100644
--- a/common/recipes-core/systemd/obmc-targets/obmc-chassis-start@.target
+++ b/common/recipes-core/systemd/obmc-targets/obmc-chassis-start@.target
@@ -6,3 +6,5 @@
 After=mapper-wait@-org-openbmc-control-chassis%i.service
 Conflicts=obmc-chassis-stop@%i.target
 RefuseManualStop=yes
+OnFailure=obmc-quiesce-host@%i.target
+OnFailureJobMode=flush
diff --git a/common/recipes-core/systemd/obmc-targets/obmc-chassis-stop@.target b/common/recipes-core/systemd/obmc-targets/obmc-chassis-stop@.target
index aeac3d6..0fccea2 100644
--- a/common/recipes-core/systemd/obmc-targets/obmc-chassis-stop@.target
+++ b/common/recipes-core/systemd/obmc-targets/obmc-chassis-stop@.target
@@ -6,3 +6,5 @@
 After=mapper-wait@-org-openbmc-control-chassis%i.service
 Conflicts=obmc-chassis-start@%i.target
 RefuseManualStop=yes
+OnFailure=obmc-power-chassis-off@%i.target
+OnFailureJobMode=flush
diff --git a/common/recipes-core/systemd/obmc-targets/obmc-power-chassis-on@.target b/common/recipes-core/systemd/obmc-targets/obmc-power-chassis-on@.target
index f9571b1..32250a4 100644
--- a/common/recipes-core/systemd/obmc-targets/obmc-power-chassis-on@.target
+++ b/common/recipes-core/systemd/obmc-targets/obmc-power-chassis-on@.target
@@ -6,3 +6,5 @@
 After=mapper-wait@-xyz-openbmc_project-state-chassis%i.service
 Conflicts=obmc-power-chassis-off@%i.target
 RefuseManualStop=yes
+OnFailure=obmc-power-chassis-off@%i.target
+OnFailureJobMode=flush
diff --git a/common/recipes-core/systemd/obmc-targets/obmc-stop-host@.target b/common/recipes-core/systemd/obmc-targets/obmc-stop-host@.target
index 8a5eba8..4347fa4 100644
--- a/common/recipes-core/systemd/obmc-targets/obmc-stop-host@.target
+++ b/common/recipes-core/systemd/obmc-targets/obmc-stop-host@.target
@@ -1,4 +1,6 @@
 [Unit]
 Description=Power%i Host Off
 Wants={SYSTEMD_DEFAULT_TARGET}
-RefuseManualStop=yes
\ No newline at end of file
+RefuseManualStop=yes
+OnFailure=obmc-chassis-stop@%i.target
+OnFailureJobMode=flush