From 65e3d952e84a42a5e3ac5c01072f24eaa2238686 Mon Sep 17 00:00:00 2001 From: Christian Rößler Date: Tue, 27 Jun 2017 14:00:17 +0200 Subject: [run-virt] Some more fixes (cifs/smb), more tests etc. --- .../opt/openslx/vmchooser/data/linux/includes/10_functions.inc | 9 +++++---- .../openslx/vmchooser/data/linux/includes/30_mount_shares.inc | 9 ++++++--- 2 files changed, 11 insertions(+), 7 deletions(-) (limited to 'core/modules/run-virt/data/opt/openslx/vmchooser') diff --git a/core/modules/run-virt/data/opt/openslx/vmchooser/data/linux/includes/10_functions.inc b/core/modules/run-virt/data/opt/openslx/vmchooser/data/linux/includes/10_functions.inc index cc5246ee..e3c22bb0 100644 --- a/core/modules/run-virt/data/opt/openslx/vmchooser/data/linux/includes/10_functions.inc +++ b/core/modules/run-virt/data/opt/openslx/vmchooser/data/linux/includes/10_functions.inc @@ -34,18 +34,19 @@ function mounter() logger "openslx sharemapper: $3 already mounted." AUSGANG=2 else + AUSGANG=0 x=2 while ! mount $1 $2 $3 2>/dev/null 1>&2; do + logger "openslx sharemapper: could not mount ${2} to ${3}, waited another $x seconds, retrying." sleep $x - if [ "$x" -gt 10 ]; then + if [ "$x" -gt 6 ]; then AUSGANG=1 - logger "openslx sharemapper: could not mount ${2} to ${3}." + logger "openslx sharemapper: timeout, could not mount ${2} to ${3}." break fi let x=x+2 done - logger "openslx sharemapper: ${2} mounted to ${3}." # Todo: Schöner schreiben:) - AUSGANG=0 + [ "$AUSGANG" -eq 0 ] && logger "openslx sharemapper: ${2} mounted to ${3}." # Todo: Schöner schreiben:) fi return $AUSGANG } diff --git a/core/modules/run-virt/data/opt/openslx/vmchooser/data/linux/includes/30_mount_shares.inc b/core/modules/run-virt/data/opt/openslx/vmchooser/data/linux/includes/30_mount_shares.inc index b1320d01..0ce8b427 100644 --- a/core/modules/run-virt/data/opt/openslx/vmchooser/data/linux/includes/30_mount_shares.inc +++ b/core/modules/run-virt/data/opt/openslx/vmchooser/data/linux/includes/30_mount_shares.inc @@ -9,8 +9,9 @@ function mount_shares() SHAREPASS=$(echo "${ROHSHARES[CONFIGROW]}" | cut -f 5 -d$'\t') # User-PW, bei Userhome nicht vorhanden # Sharetyp bestimmen: - if [ "${SHAREPATH:0:2}" == '\\' ]; then + if [ "${SHAREPATH:0:2}" == '\\' ] || [ "${SHAREPATH:0:2}" == '//' ]; then USER=$(echo "$SHAREUSER"|cut -d '\' -f 2) + SHAREPATH="${SHAREPATH//\\//}" # '\' --> `/` :-) MOUNTOPTS="$MOUNTOPTSCIFS" else MOUNTOPTS="$MOUNTOPTSNFS" @@ -21,7 +22,7 @@ function mount_shares() logger "openslx sharemapper: home share \"$SHARENAME\" found (for PERSISTENT)." export USER="${GLOBALUSER}" export PASSWD="${PW}" - mounter "${MOUNTOPTS}" ${SHAREPATH} ${USERHOMEDIR} 2>/dev/null 1>&2 + mounter "${MOUNTOPTS}" "${SHAREPATH}" "${USERHOMEDIR}" 2>/dev/null 1>&2 unset USER unset PASSWD else @@ -44,11 +45,13 @@ function mount_shares() export PASSWD="${SHAREPASS}" mounter "${MOUNTOPTS}" ${SHAREPATH} ${USERSHAREDIR} 2>/dev/null 1>&2 ERR=$? + unset USER + unset PASSWD if [ "$ERR" -eq 1 ]; then export USER="${GLOBALUSER}" export PASSWD="${PW}" logger "openslx sharemapper: Could not mount ${USERSHAREDIR}, now trying using user credentials." - mounter "${MOUNTOPTS}" ${SHAREPATH} ${USERSHAREDIR} 2>/dev/null 1>&2 \ + mounter "${MOUNTOPTS}" ${SHAREPATH} ${USERSHAREDIR} 2>/dev/null 1>&2 ERR=$? # ERR merken wg. Links aus USERSHAREDIR if [ "$ERR" -eq 1 ]; then logger "openslx sharemapper: Could not mount ${USERSHAREDIR} even using user credentials; giving up." -- cgit v1.2.3-55-g7522