summaryrefslogtreecommitdiffstats
path: root/meta-phosphor/common/recipes-core
diff options
context:
space:
mode:
authorAndrew Geissler <andrewg@us.ibm.com>2017-03-05 20:36:50 -0600
committerAndrew Geissler <geissonator@yahoo.com>2017-03-15 19:55:21 +0000
commite4577f6245a58771807b75652ab20a3b279a04b9 (patch)
tree55d6393d07e8be89a36b6a6c9f55e719ecc191f9 /meta-phosphor/common/recipes-core
parentb8c47703036a3ebcfda7491da42cff5c2c11b084 (diff)
downloadtalos-openbmc-e4577f6245a58771807b75652ab20a3b279a04b9.tar.gz
talos-openbmc-e4577f6245a58771807b75652ab20a3b279a04b9.zip
Targets and services to check for pgood on bmc reset
Once enabled these targets and services will be run after a BMC reboot to check if pgood is on and if so, to create a file which will be used by other power on services to know whether they need to run or not. Change-Id: Id2e75f9bce20f362d2f57a79e91ece1eaf7d7c45 Signed-off-by: Andrew Geissler <andrewg@us.ibm.com>
Diffstat (limited to 'meta-phosphor/common/recipes-core')
-rw-r--r--meta-phosphor/common/recipes-core/systemd/obmc-targets.bb31
-rw-r--r--meta-phosphor/common/recipes-core/systemd/obmc-targets/obmc-chassis-reset@.target4
-rw-r--r--meta-phosphor/common/recipes-core/systemd/obmc-targets/obmc-power-chassis-off@.target1
-rw-r--r--meta-phosphor/common/recipes-core/systemd/obmc-targets/obmc-power-reset-on@.target5
4 files changed, 39 insertions, 2 deletions
diff --git a/meta-phosphor/common/recipes-core/systemd/obmc-targets.bb b/meta-phosphor/common/recipes-core/systemd/obmc-targets.bb
index 5f34c17be..6f83a9ed3 100644
--- a/meta-phosphor/common/recipes-core/systemd/obmc-targets.bb
+++ b/meta-phosphor/common/recipes-core/systemd/obmc-targets.bb
@@ -8,25 +8,50 @@ inherit obmc-phosphor-license
inherit allarch
# Overall chassis and host control
+# - start: Services to run to start the host
+# - stop: Services to run to stop the host
CHASSIS_TARGETS = "start stop"
+
# Synchronization targets
-SYNCH_POWER_TARGETS = "start-pre start on stop-pre stop off"
+# - start-pre: Services to run before we start power on process
+# - start: Services to run to do the chassis power on
+# - on: Services to run once power is on
+# - stop-pre,stop,off: Same as above but applied to powering off
+# - reset-on: Services to check if chassis power is on after bmc reset
+SYNCH_POWER_TARGETS = "start-pre start on stop-pre stop off reset-on"
+
# Control chassis power
+# - on: Services to run to power on the chassis
+# - off: Services to run to power off the chassis
CHASSIS_POWER_TARGETS = "on off"
-# Track all host synchronization point target
+
+#TODO - After target renames #1205, combine this with CHASSIS_POWER_TARGETS
+# - reset: Services to check chassis power state and update chassis "on" target
+CHASSIS_POWER_TARGETS_2 = "reset"
+
+# Track all host synchronization point targets
+# - start-pre: Services to run before we start host boot
+# - start: Services to run to do the host boot
+# - started: Services to run once the host is booted
+# - stop-pre,stop,stopped: Same as above but applied to shutting down the host
HOST_SYNCH_TARGETS = "start-pre start started stop-pre stop stopped"
+
# Track all host action targets
+# - stop: Services to run to shutdown the host
+# - quiesce: Target to enter on host boot failure
HOST_ACTION_TARGETS = "stop quiesce"
CHASSIS_FMT = "obmc-chassis-{0}@.target"
SYNCH_POWER_FMT = "obmc-power-{0}@.target"
CHASSIS_POWER_FMT = "obmc-power-chassis-{0}@.target"
+CHASSIS_POWER_FMT_2 = "obmc-chassis-{0}@.target"
HOST_SYNCH_FMT = "obmc-host-{0}@.target"
HOST_ACTION_FMT = "obmc-{0}-host@.target"
CHASSIS_LINK_FMT = "${CHASSIS_FMT}:obmc-chassis-{0}@{1}.target"
SYNCH_POWER_LINK_FMT = "${SYNCH_POWER_FMT}:obmc-power-{0}@{1}.target"
CHASSIS_POWER_LINK_FMT = "${CHASSIS_POWER_FMT}:obmc-power-chassis-{0}@{1}.target"
+CHASSIS_POWER_LINK_FMT_2 = "${CHASSIS_POWER_FMT_2}:obmc-chassis-{0}@{1}.target"
HOST_LINK_SYNCH_FMT = "${HOST_SYNCH_FMT}:obmc-host-{0}@{1}.target"
HOST_LINK_ACTION_FMT = "${HOST_ACTION_FMT}:obmc-{0}-host@{1}.target"
@@ -41,11 +66,13 @@ SYSTEMD_SERVICE_${PN} += " \
SYSTEMD_SERVICE_${PN} += "${@compose_list(d, 'CHASSIS_FMT', 'CHASSIS_TARGETS')}"
SYSTEMD_SERVICE_${PN} += "${@compose_list(d, 'SYNCH_POWER_FMT', 'SYNCH_POWER_TARGETS')}"
SYSTEMD_SERVICE_${PN} += "${@compose_list(d, 'CHASSIS_POWER_FMT', 'CHASSIS_POWER_TARGETS')}"
+SYSTEMD_SERVICE_${PN} += "${@compose_list(d, 'CHASSIS_POWER_FMT_2', 'CHASSIS_POWER_TARGETS_2')}"
SYSTEMD_SERVICE_${PN} += "${@compose_list(d, 'HOST_SYNCH_FMT', 'HOST_SYNCH_TARGETS')}"
SYSTEMD_SERVICE_${PN} += "${@compose_list(d, 'HOST_ACTION_FMT', 'HOST_ACTION_TARGETS')}"
SYSTEMD_LINK_${PN} += "${@compose_list(d, 'CHASSIS_LINK_FMT', 'CHASSIS_TARGETS', 'OBMC_CHASSIS_INSTANCES')}"
SYSTEMD_LINK_${PN} += "${@compose_list(d, 'SYNCH_POWER_LINK_FMT', 'SYNCH_POWER_TARGETS', 'OBMC_POWER_INSTANCES')}"
SYSTEMD_LINK_${PN} += "${@compose_list(d, 'CHASSIS_POWER_LINK_FMT', 'CHASSIS_POWER_TARGETS', 'OBMC_CHASSIS_INSTANCES')}"
+SYSTEMD_LINK_${PN} += "${@compose_list(d, 'CHASSIS_POWER_LINK_FMT_2', 'CHASSIS_POWER_TARGETS_2', 'OBMC_CHASSIS_INSTANCES')}"
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')}"
diff --git a/meta-phosphor/common/recipes-core/systemd/obmc-targets/obmc-chassis-reset@.target b/meta-phosphor/common/recipes-core/systemd/obmc-targets/obmc-chassis-reset@.target
new file mode 100644
index 000000000..1741d4194
--- /dev/null
+++ b/meta-phosphor/common/recipes-core/systemd/obmc-targets/obmc-chassis-reset@.target
@@ -0,0 +1,4 @@
+[Unit]
+Description=Chassis%i (Reset Check)
+Conflicts=obmc-power-chassis-off%i.target
+RefuseManualStop=yes
diff --git a/meta-phosphor/common/recipes-core/systemd/obmc-targets/obmc-power-chassis-off@.target b/meta-phosphor/common/recipes-core/systemd/obmc-targets/obmc-power-chassis-off@.target
index b3c825616..ceba1e39a 100644
--- a/meta-phosphor/common/recipes-core/systemd/obmc-targets/obmc-power-chassis-off@.target
+++ b/meta-phosphor/common/recipes-core/systemd/obmc-targets/obmc-power-chassis-off@.target
@@ -5,4 +5,5 @@ After={SYSTEMD_DEFAULT_TARGET}
Wants=mapper-wait@-xyz-openbmc_project-state-chassis%i.service
After=mapper-wait@-xyz-openbmc_project-state-chassis%i.service
Conflicts=obmc-power-chassis-on@%i.target
+Conflicts=obmc-chassis-reset@%i.target
RefuseManualStop=yes
diff --git a/meta-phosphor/common/recipes-core/systemd/obmc-targets/obmc-power-reset-on@.target b/meta-phosphor/common/recipes-core/systemd/obmc-targets/obmc-power-reset-on@.target
new file mode 100644
index 000000000..5c8d3e6f0
--- /dev/null
+++ b/meta-phosphor/common/recipes-core/systemd/obmc-targets/obmc-power-reset-on@.target
@@ -0,0 +1,5 @@
+[Unit]
+Description=Chassis%i power on after reset
+Conflicts=obmc-power-chassis-off@%i.target
+RefuseManualStart=yes
+RefuseManualStop=yes
OpenPOWER on IntegriCloud