diff options
author | Scott Murray <scott.murray@konsulko.com> | 2020-05-25 17:14:16 +0000 |
---|---|---|
committer | Scott Murray <scott.murray@konsulko.com> | 2020-05-26 14:36:11 +0000 |
commit | b83de510d5e50285805b557866b94c5be3dd2a3f (patch) | |
tree | 8cff013155d94a7f97c8521249fc0ba1f3dacd97 /recipes-config | |
parent | 2e30ec6f8131deacec2861d43000e42515d66019 (diff) |
Cluster demo support updates
Changes include:
- Rework cluster-demo-network-config recipe to have the installed
service file be a template, allowing the recipe to potentially
change the target network device easily. A new variable
AGL_CLUSTER_NET_DEVICE has been added to do so, with a default
value of eth1. The interface configuration has been moved to a
helper shell script, cluster-demo-network-conf.sh, with some
additional logic added to update the interface blacklist in the
connman configuration. This makes things more generic and allows
setting up the cluster demo on boards other than H3+KF.
- Update agl-cluster-demo-support feature dependency with new
agl-weston-remoting feature that replaces agl-gstrecorder.
Bug-AGL: SPEC-3395
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Change-Id: I9109b8e7782112d5504866f67e6bb5953c79d4a8
Diffstat (limited to 'recipes-config')
4 files changed, 43 insertions, 19 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 |