meta-ibm: systemd-networkd-wait-online override

IBM systems do not always configure both eth0 and eth1 ports. This
causes this service to fail and hold up the boot of the BMC by the 2
minute timeout.

Override this service file to have IBM systems only wait for eth0 OR
eth1 to become active.

The Genesis3 BMC has two NICs. Be happy with a link up on one of them.

TEST=Build for Genesis3 & make sure with waits for either of the two
NIC to be active.

Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
Change-Id: I0ffd652fabd5e998b14e23621d89046a9eed5455
Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
diff --git a/meta-ibm/recipes-core/systemd/systemd_%.bbappend b/meta-ibm/recipes-core/systemd/systemd_%.bbappend
index c63cf0c..b412b88 100644
--- a/meta-ibm/recipes-core/systemd/systemd_%.bbappend
+++ b/meta-ibm/recipes-core/systemd/systemd_%.bbappend
@@ -9,6 +9,8 @@
 SRC_URI:append:p10bmc = " file://vm.conf"
 SRC_URI:append:p10bmc = " file://network.conf"
 
+SRC_URI:append:genesis3 = " file://systemd-networkd-only-wait-for-one.conf"
+
 FILES:${PN}:append:ibm-ac-server = " ${systemd_unitdir}/journald.conf.d/journald-storage-policy.conf"
 FILES:${PN}:append:ibm-ac-server = " ${systemd_system_unitdir}/systemd-journald.service.d/systemd-journald-override.conf"
 FILES:${PN}:append:ibm-ac-server = " ${systemd_unitdir}/journald.conf.d/journald-size-policy.conf"
@@ -19,6 +21,8 @@
 FILES:${PN}:append:p10bmc = " ${sysconfdir}/sysctl.d/vm.conf"
 FILES:${PN}:append:p10bmc = " ${sysconfdir}/sysctl.d/network.conf"
 
+FILES:${PN}:append:genesis3 = " ${systemd_system_unitdir}/systemd-networkd-wait-online.service.d/systemd-networkd-only-wait-for-one.conf"
+
 do_install:append:ibm-ac-server() {
         install -m 644 -D ${WORKDIR}/journald-storage-policy.conf ${D}${systemd_unitdir}/journald.conf.d/journald-storage-policy.conf
         install -m 644 -D ${WORKDIR}/systemd-journald-override.conf ${D}${systemd_system_unitdir}/systemd-journald.service.d/systemd-journald-override.conf
@@ -32,6 +36,11 @@
         install -m 644 -D ${WORKDIR}/network.conf ${D}${sysconfdir}/sysctl.d/network.conf
 }
 
+# Genesis3 uses both BMC's RGMII MACs, so wait for only one to be online
+do_install:append:genesis3() {
+        install -d ${D}${systemd_system_unitdir}/systemd-networkd-wait-online.service.d/
+        install -m 644 -D ${WORKDIR}/systemd-networkd-only-wait-for-one.conf ${D}${systemd_system_unitdir}/systemd-networkd-wait-online.service.d/systemd-networkd-only-wait-for-one.conf
+}
 # Witherspoon doesn't have the space for the both zstd and xz compression
 # libraries and currently phosphor-debug-collector is using xz.  Switch systemd
 # to use xz so only one of the two is added into the image.