diff options
author | Daniel Baumann <daniel.baumann@open-infrastructure.net> | 2017-04-03 09:57:55 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@open-infrastructure.net> | 2017-04-03 10:09:14 +0000 |
commit | 622fe63eb37f957ee5c29684e24f1d2d636fd086 (patch) | |
tree | a676a1cd790b291222041918fad77bd59f381a16 /lib/container/move | |
parent | Allowing multiple container commands to be executed in a row. (diff) | |
download | compute-tools-622fe63eb37f957ee5c29684e24f1d2d636fd086.tar.xz compute-tools-622fe63eb37f957ee5c29684e24f1d2d636fd086.zip |
Adding support for bind-ro nspawn option for read-only bind mounts.
Signed-off-by: Daniel Baumann <daniel.baumann@open-infrastructure.net>
Diffstat (limited to 'lib/container/move')
-rwxr-xr-x | lib/container/move | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/lib/container/move b/lib/container/move index 78b0c7f..4d64c8a 100755 --- a/lib/container/move +++ b/lib/container/move @@ -141,7 +141,7 @@ done mv "${CONFIG}/${OLD}.conf" "${CONFIG}/${NEW}.conf" mv "${MACHINES}/${OLD}" "${MACHINES}/${NEW}" -# bind mounts +# rw bind mounts BIND="$(awk -F= '/^bind=/ { print $2 }' ${CONFIG}/${NAME}.conf)" if [ -n "${BIND}" ] @@ -168,6 +168,33 @@ then done fi +# ro bind mounts +BIND_RO="$(awk -F= '/^bind-ro=/ { print $2 }' ${CONFIG}/${NAME}.conf)" + +if [ -n "${BIND_RO}" ] +then + BINDS_RO="$(echo ${BIND_RO} | sed -e 's|;| |g')" + + for BIND_RO in ${BINDS_RO} + do + SOURCE_OLD="$(echo ${BIND_RO} | awk -F: '{ print $1 }')" + SOURCE_NEW="$(echo ${SOURCE_OLD} | sed -e "s|${OLD}|${NEW}|g")" + + if [ "${SOURCE_OLD}" != "${SOURCE_NEW}" ] + then + mv "${SOURCE_OLD}" "${SOURCE_NEW}" + fi + + TARGET_OLD="$(echo ${BIND_RO} | awk -F: '{ print $2 }')" + TARGET_NEW="$(echo ${TARGET_OLD} | sed -e "s|${OLD}|${NEW}|g")" + + if [ "${TARGET_OLD}" != "${TARGET_NEW}" ] + then + mv "${MACHINES}/${NEW}/${TARGET_OLD}" "${MACHINES}/${NEW}/${TARGET_NEW}" + fi + done +fi + # config sed -i -e "s|${OLD}|${NEW}|g" "${CONFIG}/${NEW}.conf" |