phosphor-state-manager: Separate chassis and host targets
Separate chassis and host targets to generate corresponding instances.
Tested:
chassis/host power control.
Change-Id: I39330deeaf7411dedd3fdb8efaa81986e4fe040c
Signed-off-by: Delphine CC Chiu <Delphine_CC_Chiu@wiwynn.com>
diff --git a/meta-phosphor/recipes-phosphor/state/phosphor-state-manager-systemd-links.inc b/meta-phosphor/recipes-phosphor/state/phosphor-state-manager-systemd-links.inc
index c976301..3e14646 100644
--- a/meta-phosphor/recipes-phosphor/state/phosphor-state-manager-systemd-links.inc
+++ b/meta-phosphor/recipes-phosphor/state/phosphor-state-manager-systemd-links.inc
@@ -1,10 +1,5 @@
-DEFAULT_TARGETS = " \
+HOST_DEFAULT_TARGETS = " \
multi-user.target.requires/obmc-host-reset@{}.target \
- multi-user.target.wants/phosphor-discover-system-state@{}.service \
- obmc-chassis-poweron@{}.target.wants/phosphor-reset-host-recovery@{}.service \
- obmc-chassis-poweron@{}.target.requires/obmc-power-start@{}.service \
- obmc-chassis-poweroff@{}.target.requires/obmc-power-stop@{}.service \
- obmc-chassis-poweroff@{}.target.requires/obmc-powered-off@{}.service \
obmc-host-start@{}.target.requires/obmc-host-startmin@{}.target \
obmc-host-start@{}.target.requires/phosphor-reset-host-reboot-attempts@{}.service \
obmc-host-startmin@{}.target.wants/phosphor-set-host-transition-to-running@{}.service \
@@ -14,13 +9,21 @@
obmc-host-graceful-quiesce@{}.target.wants/obmc-host-quiesce@{}.target \
obmc-host-graceful-quiesce@{}.target.wants/pldmSoftPowerOff.service \
obmc-host-quiesce@{}.target.wants/phosphor-reset-sensor-states@{}.service \
- obmc-host-shutdown@{}.target.requires/obmc-chassis-poweroff@{}.target \
obmc-host-reboot@{}.target.requires/obmc-host-shutdown@{}.target \
obmc-host-reboot@{}.target.requires/phosphor-reboot-host@{}.service \
obmc-host-warm-reboot@{}.target.requires/xyz.openbmc_project.Ipmi.Internal.SoftPowerOff.service \
obmc-host-force-warm-reboot@{}.target.requires/obmc-host-stop@{}.target \
obmc-host-force-warm-reboot@{}.target.requires/phosphor-reboot-host@{}.service \
obmc-host-warm-reboot@{}.target.requires/obmc-host-force-warm-reboot@{}.target \
+"
+
+CHASSIS_DEFAULT_TARGETS = " \
+ multi-user.target.wants/phosphor-discover-system-state@{}.service \
+ obmc-chassis-poweron@{}.target.wants/phosphor-reset-host-recovery@{}.service \
+ obmc-chassis-poweron@{}.target.requires/obmc-power-start@{}.service \
+ obmc-host-shutdown@{}.target.requires/obmc-chassis-poweroff@{}.target \
+ obmc-chassis-poweroff@{}.target.requires/obmc-power-stop@{}.service \
+ obmc-chassis-poweroff@{}.target.requires/obmc-powered-off@{}.service \
obmc-chassis-poweroff@{}.target.wants/phosphor-clear-one-time@{}.service \
obmc-chassis-blackout@{}.target.wants/phosphor-reset-sensor-states@{}.service \
obmc-chassis-powerreset@{}.target.requires/phosphor-reset-chassis-on@{}.service \
@@ -34,7 +37,19 @@
pkg_postinst:${PN}-obmc-targets:append() {
for i in ${OBMC_HOST_INSTANCES};
do
- for j in ${DEFAULT_TARGETS};
+ for j in ${HOST_DEFAULT_TARGETS};
+ do
+ LINK="$D$systemd_system_unitdir/${j}"
+ LINK="$(echo ${LINK} | sed s/{}/${i}/g )"
+ TARGET="../$(basename ${j} | sed s/{}//g )"
+ mkdir -p "$(dirname ${LINK})"
+ ln -s "${TARGET}" "${LINK}"
+ done
+ done
+
+ for i in ${OBMC_CHASSIS_INSTANCES};
+ do
+ for j in ${CHASSIS_DEFAULT_TARGETS};
do
LINK="$D$systemd_system_unitdir/${j}"
LINK="$(echo ${LINK} | sed s/{}/${i}/g )"
@@ -48,7 +63,17 @@
pkg_prerm:${PN}-obmc-targets:append() {
for i in ${OBMC_HOST_INSTANCES};
do
- for j in ${DEFAULT_TARGETS};
+ for j in ${HOST_DEFAULT_TARGETS};
+ do
+ LINK="$D$systemd_system_unitdir/${j}"
+ LINK="$(echo ${LINK} | sed s/{}/${i}/g )"
+ rm "${LINK}"
+ done
+ done
+
+ for i in ${OBMC_CHASSIS_INSTANCES};
+ do
+ for j in ${CHASSIS_DEFAULT_TARGETS};
do
LINK="$D$systemd_system_unitdir/${j}"
LINK="$(echo ${LINK} | sed s/{}/${i}/g )"
@@ -76,7 +101,7 @@
}
pkg_postinst:${PN}-chassis-check-power-status:append() {
- for i in ${OBMC_HOST_INSTANCES};
+ for i in ${OBMC_CHASSIS_INSTANCES};
do
mkdir -p $D$systemd_system_unitdir/obmc-chassis-poweron@${i}.target.requires
LINK="$D$systemd_system_unitdir/obmc-chassis-poweron@${i}.target.requires/phosphor-chassis-check-power-status@${i}.service"
@@ -86,7 +111,7 @@
}
pkg_prerm:${PN}-chassis-check-power-status:append() {
- for i in ${OBMC_HOST_INSTANCES};
+ for i in ${OBMC_CHASSIS_INSTANCES};
do
LINK="$D$systemd_system_unitdir/obmc-chassis-poweron@${i}.target.requires/phosphor-chassis-check-power-status@${i}.service"
rm $LINK