summaryrefslogtreecommitdiffstats
path: root/lib/container
diff options
context:
space:
mode:
Diffstat (limited to '')
-rwxr-xr-xlib/container/create20
-rwxr-xr-xlib/container/start7
-rwxr-xr-xlib/container/stop11
3 files changed, 28 insertions, 10 deletions
diff --git a/lib/container/create b/lib/container/create
index 8fa6189..1b9defe 100755
--- a/lib/container/create
+++ b/lib/container/create
@@ -194,9 +194,9 @@ if [ -n "${BIND}" ]
then
BINDS="$(echo ${BIND} | sed -e 's|;| |g')"
- for BIND in ${BINDS}
+ for ENTRY in ${BINDS}
do
- DIRECTORY="$(echo ${BIND} | awk -F: '{ print $1 }')"
+ DIRECTORY="$(echo ${ENTRY} | awk -F: '{ print $1 }')"
mkdir -p "${DIRECTORY}"
done
@@ -205,11 +205,11 @@ fi
# Creating ro bind mounts
if [ -n "${BIND_RO}" ]
then
- BINDS="$(echo ${BIND_RO} | sed -e 's|;| |g')"
+ BINDS_RO="$(echo ${BIND_RO} | sed -e 's|;| |g')"
- for BIND_RO in ${BINDS_RO}
+ for ENTRY in ${BINDS_RO}
do
- DIRECTORY="$(echo ${BIND_RO} | awk -F: '{ print $1 }')"
+ DIRECTORY="$(echo ${ENTRY} | awk -F: '{ print $1 }')"
mkdir -p "${DIRECTORY}"
done
@@ -220,12 +220,12 @@ if [ -n "${CNT_OVERLAY}" ]
then
CNT_OVERLAYS="$(echo ${CNT_OVERLAY} | sed -e 's|;| |g')"
- for CNT_OVERLAY in ${CNT_OVERLAYS}
+ for ENTRY in ${CNT_OVERLAYS}
do
- DIRECTORY_LOWER="$(echo ${CNT_OVERLAY} | awk -F: '{ print $1 }')"
- DIRECTORY_UPPER="$(echo ${CNT_OVERLAY} | awk -F: '{ print $2 }')"
- DIRECTORY_WORK="$(echo ${CNT_OVERLAY} | awk -F: '{ print $3 }')"
- DIRECTORY_MERGED="$(echo ${CNT_OVERLAY} | awk -F: '{ print $4 }')"
+ DIRECTORY_LOWER="$(echo ${ENTRY} | awk -F: '{ print $1 }')"
+ DIRECTORY_UPPER="$(echo ${ENTRY} | awk -F: '{ print $2 }')"
+ DIRECTORY_WORK="$(echo ${ENTRY} | awk -F: '{ print $3 }')"
+ DIRECTORY_MERGED="$(echo ${ENTRY} | awk -F: '{ print $4 }')"
for DIRECTORY in "${DIRECTORY_LOWER}" "${DIRECTORY_UPPER}" "${DIRECTORY_WORK}" "${DIRECTORY_MERGED}"
do
diff --git a/lib/container/start b/lib/container/start
index d5e9059..47c2907 100755
--- a/lib/container/start
+++ b/lib/container/start
@@ -144,6 +144,13 @@ then
case "${FORCE}" in
true)
rm -f "${MACHINES}/.#${NAME}.lck"
+
+ VETHS="$(awk -F= '/^network-veth-extra=/ { print $2 }' ${CONFIG}/${NAME}.conf | awk -F: '{ print $1 }')"
+
+ for VETH in ${VETHS}
+ do
+ ip link delete ${VETH} > /dev/null 2>&1 || true
+ done
;;
*)
diff --git a/lib/container/stop b/lib/container/stop
index 3a0de2a..350d9e6 100755
--- a/lib/container/stop
+++ b/lib/container/stop
@@ -255,6 +255,17 @@ esac
# Run
machinectl ${MODE} ${NAME}
+case "${FORCE}" in
+ true)
+ VETHS="$(awk -F= '/^network-veth-extra=/ { print $2 }' ${CONFIG}/${NAME}.conf | awk -F: '{ print $1 }')"
+
+ for VETH in ${VETHS}
+ do
+ ip link delete ${VETH} > /dev/null 2>&1 || true
+ done
+ ;;
+esac
+
# Post hooks
for FILE in "${HOOKS}/post-${COMMAND}".* "${HOOKS}/${NAME}.post-${COMMAND}"
do