summaryrefslogtreecommitdiffstats
path: root/lib/container/start
diff options
context:
space:
mode:
Diffstat (limited to '')
-rwxr-xr-xlib/container/start25
1 files changed, 18 insertions, 7 deletions
diff --git a/lib/container/start b/lib/container/start
index 8d5429b..fa717dd 100755
--- a/lib/container/start
+++ b/lib/container/start
@@ -197,15 +197,26 @@ then
;;
esac
- NETWORK_VETH="$(awk -F= '/^network-veth=/ { print $2 }' ${CONFIG}/${NAME}.conf || echo yes)"
+ NETWORK_VETH_EXTRA_CONF="$(awk -F= '/^network-veth-extra=/ { print $2 }' ${CONFIG}/${NAME}.conf)"
+ NETWORK_VETH_EXTRA=""
- case "${NETWORK_VETH}" in
- yes)
- NETWORK_VETH="--network-veth"
+ case "${NETWORK_VETH_EXTRA_CONF}" in
+ "")
;;
*)
- NETWORK_VETH=""
+ for VETH in ${NETWORK_VETH_EXTRA_CONF}
+ do
+ NETWORK_VETH_EXTRA="${NETWORK_VETH_EXTRA} --network-veth-extra=${VETH}"
+ INTERFACE="$(echo ${VETH} | awk -F: '{ print $1 }')"
+
+cat > "/etc/network/interfaces.d/${INTERFACE}" << EOF
+iface ${INTERFACE} inet manual
+ pre-up ifconfig ${INTERFACE} up
+ post-down ifconfig ${INTERFACE} down
+EOF
+
+ done
;;
esac
@@ -301,11 +312,11 @@ fi
# Run
case "${SET_PROPERTY}" in
true)
- ${SETARCH} systemd-nspawn ${BIND} ${BOOT} ${CAPABILITY} ${DIRECTORY} ${DROP_CAPABILITY} ${MACHINE} ${NETWORK_BRIDGE} ${NETWORK_VETH} ${LINK_JOURNAL} ${REGISTER} & \
+ ${SETARCH} systemd-nspawn ${BIND} ${BOOT} ${CAPABILITY} ${DIRECTORY} ${DROP_CAPABILITY} ${MACHINE} ${NETWORK_BRIDGE} ${NETWORK_VETH_EXTRA} ${LINK_JOURNAL} ${REGISTER} & \
systemctl --runtime set-property ${NAME} ${BLOCK_IO_DEVICE_WEIGHT} ${BLOCK_IO_READ_BANDWITH} ${BLOCK_IO_WEIGHT} ${BLOCK_IO_WRITE_BANDWITH} ${CPU_QUOTA} ${CPU_SHARES} ${MEMORY_LIMIT} ${TASKS_MAX}
;;
*)
- ${SETARCH} systemd-nspawn ${BIND} ${BOOT} ${CAPABILITY} ${DIRECTORY} ${DROP_CAPABILITY} ${MACHINE} ${NETWORK_BRIDGE} ${NETWORK_VETH} ${LINK_JOURNAL} ${REGISTER}
+ ${SETARCH} systemd-nspawn ${BIND} ${BOOT} ${CAPABILITY} ${DIRECTORY} ${DROP_CAPABILITY} ${MACHINE} ${NETWORK_BRIDGE} ${NETWORK_VETH_EXTRA} ${LINK_JOURNAL} ${REGISTER}
;;
esac