diff options
author | Simon Spöhel <simon@spoehel.ch> | 2022-04-28 07:46:29 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@open-infrastructure.net> | 2022-04-28 08:19:47 +0000 |
commit | 2b0b980572ed593a96b668af6baf9b64914497f4 (patch) | |
tree | 1f4da9ba2f6fec746ce2117a9cbfed1391d6d3db | |
parent | Releasing version 20211231. (diff) | |
download | compute-tools-2b0b980572ed593a96b668af6baf9b64914497f4.tar.xz compute-tools-2b0b980572ed593a96b668af6baf9b64914497f4.zip |
Using systemd-networkd to manage veth interfaces on host.
Signed-off-by: Simon Spöhel <simon@spoehel.ch>
Signed-off-by: Daniel Baumann <daniel.baumann@open-infrastructure.net>
-rwxr-xr-x | libexec/container/start | 17 | ||||
-rwxr-xr-x | libexec/container/stop | 2 |
2 files changed, 11 insertions, 8 deletions
diff --git a/libexec/container/start b/libexec/container/start index f899446..da6be24 100755 --- a/libexec/container/start +++ b/libexec/container/start @@ -390,15 +390,18 @@ then if [ -n "${BRIDGE}" ] && [ -n "${INTERFACE}" ] then -cat > "/etc/network/interfaces.d/${INTERFACE}" << EOF -allow-hotplug ${INTERFACE} -iface ${INTERFACE} inet manual - pre-up ip link set ${INTERFACE} up - post-up ip link set ${INTERFACE} master ${BRIDGE} - pre-down ip link set ${INTERFACE} nomaster - post-down ip link set ${INTERFACE} down + mkdir -p /run/systemd/network + +cat > "/run/systemd/network/${INTERFACE}.network" << EOF +[Match] +Name=${INTERFACE} + +[Network] +Bridge=${BRIDGE} EOF + networkctl reload + else echo "Warning bridge definition '${BRIDGE_DEFINITION}' not recognized (expected <bridge>:<interface>): Ignoring" fi diff --git a/libexec/container/stop b/libexec/container/stop index 98b2afa..d2db38e 100755 --- a/libexec/container/stop +++ b/libexec/container/stop @@ -220,7 +220,7 @@ case "${CLEAN}" in for VETH in ${VETHS} do INTERFACE="$(echo ${VETH} | awk -F: '{ print $1 }')" - FILE="/etc/network/interfaces.d/${INTERFACE}" + FILE="/run/systemd/network/${INTERFACE}.network" if [ -f "${FILE}" ] then |