diff options
5 files changed, 44 insertions, 20 deletions
diff --git a/recipes-config/cluster-demo-network-config/cluster-demo-network-config_1.0.bb b/recipes-config/cluster-demo-network-config/cluster-demo-network-config_1.0.bb index a5386b409..ab725c056 100644 --- a/recipes-config/cluster-demo-network-config/cluster-demo-network-config_1.0.bb +++ b/recipes-config/cluster-demo-network-config/cluster-demo-network-config_1.0.bb @@ -5,19 +5,29 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda inherit systemd allarch -SRC_URI = "file://cluster-demo-network-conf.service" +SRC_URI = "file://cluster-demo-network-conf@.service \ + file://cluster-demo-network-conf.sh \ +" + +# Network device for dedicated connection to cluster +AGL_CLUSTER_NET_DEVICE ?= "eth1" do_configure[noexec] = "1" do_compile[noexec] = "1" do_install() { - # Install cluster demo network configuration service unit + # Install helper script + install -d ${D}${sbindir} + install -m 0755 ${WORKDIR}/cluster-demo-network-conf.sh ${D}${sbindir}/ + + # Install service unit install -d ${D}${systemd_system_unitdir} - install -m 0644 ${WORKDIR}/cluster-demo-network-conf.service ${D}${systemd_system_unitdir} + install -m 0644 ${WORKDIR}/cluster-demo-network-conf@.service ${D}${systemd_system_unitdir}/ # Add symlink to network.target.wants install -d ${D}${sysconfdir}/systemd/system/network.target.wants - ln -s ${systemd_system_unitdir}/cluster-demo-network-conf.service ${D}${sysconfdir}/systemd/system/network.target.wants/ + ln -s ${systemd_system_unitdir}/cluster-demo-network-conf@.service \ + ${D}${sysconfdir}/systemd/system/network.target.wants/cluster-demo-network-conf@${AGL_CLUSTER_NET_DEVICE}.service } FILES_${PN} += "${systemd_system_unitdir}" diff --git a/recipes-config/cluster-demo-network-config/files/cluster-demo-network-conf.service b/recipes-config/cluster-demo-network-config/files/cluster-demo-network-conf.service deleted file mode 100644 index 1a6e2d8b7..000000000 --- a/recipes-config/cluster-demo-network-config/files/cluster-demo-network-conf.service +++ /dev/null @@ -1,15 +0,0 @@ -[Unit] -Description=Configure dedicated link for cluster demo network -After=sys-subsystem-net-devices-eth1.device -Requires=sys-subsystem-net-devices-eth1.device -Before=network.target - -[Service] -# Note that this is done as opposed to using connman as configuring an -# interface on a second network separate from the rest of the interfaces -# is non-trivial in connman and needs further investigation. -ExecStart=/sbin/ifconfig eth1 192.168.20.93 -Type=oneshot - -[Install] -WantedBy=network.target diff --git a/recipes-config/cluster-demo-network-config/files/cluster-demo-network-conf.sh b/recipes-config/cluster-demo-network-config/files/cluster-demo-network-conf.sh new file mode 100644 index 000000000..3f538175f --- /dev/null +++ b/recipes-config/cluster-demo-network-config/files/cluster-demo-network-conf.sh @@ -0,0 +1,17 @@ +#!/bin/sh + +CONNMAN_CONF=/etc/connman/main.conf +CLUSTER_ADDRESS=192.168.20.93 + +if [ -z "$1" ]; then + echo "Usage: $0 <network device>" + exit 1 +fi + +# Need to blacklist given device with connman if it isn't already, +# otherwise connman will over-ride address configuration. +if ! grep '^NetworkInterfaceBlacklist=' ${CONNMAN_CONF} | grep -q $1; then + sed -i "s/^\(NetworkInterfaceBlacklist=.*\)/\1,$1/" ${CONNMAN_CONF} +fi + +/sbin/ifconfig $1 ${CLUSTER_ADDRESS} diff --git a/recipes-config/cluster-demo-network-config/files/cluster-demo-network-conf@.service b/recipes-config/cluster-demo-network-config/files/cluster-demo-network-conf@.service new file mode 100644 index 000000000..5fc29b7a0 --- /dev/null +++ b/recipes-config/cluster-demo-network-config/files/cluster-demo-network-conf@.service @@ -0,0 +1,12 @@ +[Unit] +Description=Configure dedicated link for cluster demo network +After=sys-subsystem-net-devices-%i.device +Requires=sys-subsystem-net-devices-%i.device +Before=network.target + +[Service] +ExecStart=/usr/sbin/cluster-demo-network-conf.sh %i +Type=oneshot + +[Install] +WantedBy=network.target diff --git a/templates/feature/agl-cluster-demo-support/included.dep b/templates/feature/agl-cluster-demo-support/included.dep index 17ef3ba98..1e9b35fbf 100644 --- a/templates/feature/agl-cluster-demo-support/included.dep +++ b/templates/feature/agl-cluster-demo-support/included.dep @@ -1 +1 @@ -agl-gstrecorder +agl-weston-remoting |