From 5247583adbb89dbaa506467db8ff7bf99d9b817a Mon Sep 17 00:00:00 2001 From: Christian Rößler Date: Tue, 11 Jul 2023 15:37:28 +0200 Subject: [run-virt] Linux scripts: demo user mount non-home shares, some speedup done --- .../vmchooser/data/linux/includes/10_functions.inc | 39 +++++++++++----------- .../data/linux/includes/30_mount_shares.inc | 34 ++++++++++--------- 2 files changed, 38 insertions(+), 35 deletions(-) mode change 100755 => 100644 core/modules/run-virt/data/opt/openslx/vmchooser/data/linux/includes/10_functions.inc mode change 100755 => 100644 core/modules/run-virt/data/opt/openslx/vmchooser/data/linux/includes/30_mount_shares.inc (limited to 'core/modules/run-virt/data/opt/openslx/vmchooser/data/linux/includes') 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 old mode 100755 new mode 100644 index c7db1971..8b394334 --- 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 @@ -39,46 +39,45 @@ function mounter() nfs) AUSGANG=0 x=2 while ! mount $MOUNTPARAM "${MOUNTOPTS}" "$SHAREPATH" "$MOUNTDIR" 2>/dev/null 1>&2; do - logger "openslx sharemapper: could not mount ${SHAREPATH} to ${MOUNTDIR}, waited another $x seconds, retrying." - sleep $x - if [ "$x" -gt 6 ]; then + logger "openslx sharemapper: nfs: could not mount ${SHAREPATH} to ${MOUNTDIR}, waited $x seconds, retrying." + let x=x+2 + if [ "$x" -gt 4 ]; then AUSGANG=1 - logger "openslx sharemapper: timeout, could not mount ${SHAREPATH} to ${MOUNTDIR}. mount.nfs installed?" + logger "openslx sharemapper: nfs: timeout, could not mount ${SHAREPATH} to ${MOUNTDIR} using ${MOUNTOPTS}. mount.nfs installed?" break fi - let x=x+2 + sleep $x done - [ "$AUSGANG" -eq 0 ] && logger "openslx sharemapper: ${SHAREPATH} mounted to ${MOUNTDIR} (nfs)." # Todo: Schöner schreiben:) + [ "$AUSGANG" -eq 0 ] && logger "openslx sharemapper: nfs: ${SHAREPATH} mounted to ${MOUNTDIR} (nfs)." ;; - cifs) AUSGANG=0 - x=2 - [ -n "$GLOBALDOMAIN" ] && MOUNTOPTS="${MOUNTOPTS},domain=$GLOBALDOMAIN" + cifs) [ -n "$GLOBALDOMAIN" ] && MOUNTOPTS="${MOUNTOPTS},domain=$GLOBALDOMAIN" for VERSION in $CIFSVERSIONS; do + x=0 AUSGANG=0 while ! mount $MOUNTPARAM "${VERSION}","${MOUNTOPTS}" "$SHAREPATH" "$MOUNTDIR" 2>/dev/null 1>&2; do - logger "openslx sharemapper: could not mount ${SHAREPATH} to ${MOUNTDIR}, waited another $x seconds, retrying." - sleep $x + logger "openslx sharemapper: cifs: could not mount ${SHAREPATH} to ${MOUNTDIR}, waited $x seconds, retrying." + let x=x+2 if [ "$x" -gt 4 ]; then AUSGANG=1 - logger "openslx sharemapper: timeout, could not mount ${SHAREPATH} to ${MOUNTDIR} cifs v${VERSION}." + logger "openslx sharemapper: cifs: timeout, could not mount ${SHAREPATH} to ${MOUNTDIR} using ${MOUNTOPTS}, cifs v${VERSION}." break fi - let x=x+2 + sleep $x done [ "$AUSGANG" -eq 0 ] && break done - [ "$AUSGANG" -eq 0 ] && logger "openslx sharemapper: ${SHAREPATH} mounted to ${MOUNTDIR} (cifs $VERSION)." + [ "$AUSGANG" -eq 0 ] && logger "openslx sharemapper: ${SHAREPATH} mounted to ${MOUNTDIR} using ${MOUNTOPTS}, cifs $VERSION." ;; - dav) AUSGANG=0 - x=2 - while ! echo -e "${USER}\n${PASSWD}" | mount $MOUNTPARAM "$MOUNTOPTS" "$SHAREPATH" "$MOUNTDIR" 2>/dev/null 1>&2; do - logger "openslx sharemapper: could not mount ${SHAREPATH} to ${MOUNTDIR}, waited another $x seconds, retrying." - sleep x + dav) while ! echo -e "${USER}\n${PASSWD}" | mount $MOUNTPARAM "$MOUNTOPTS" "$SHAREPATH" "$MOUNTDIR" 2>/dev/null 1>&2; do + x=2 + AUSGANG=0 + logger "openslx sharemapper: dav: could not mount ${SHAREPATH} to ${MOUNTDIR}, waited another $x seconds, retrying." if [ "$x" -gt 4 ]; then AUSGANG=1 - logger "openslx sharemapper: timeout, could not mount ${SHAREPATH} to ${MOUNTDIR}. mount.davfs installed?" + logger "openslx sharemapper: dav: timeout, could not mount ${SHAREPATH} to ${MOUNTDIR} using ${MOUNTOPTS}. mount.davfs installed?" break fi + sleep $x let x=x+2 done ;; 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 old mode 100755 new mode 100644 index c6bdc8c9..29b24d75 --- 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 @@ -1,9 +1,10 @@ +#!/bin/bash sourced + function mount_shares() { for (( CONFIGROW = 1; CONFIGROW < ${#ROHSHARES[@]}; CONFIGROW++ )); do SHAREPATH=$(echo "${ROHSHARES[CONFIGROW]}" | cut -f 1 -d$'\t') # cifs- oder nfs-Share - SHARELETTER=$(echo "${ROHSHARES[CONFIGROW]}" | cut -f 2 -d$'\t' | \ - sed 's/://g') # Laufwerksbuchstabe ohne : + SHARELETTER=$(echo "${ROHSHARES[CONFIGROW]}" | cut -f 2 -d$'\t' | sed 's/://g') # Laufwerksbuchstabe ohne : SHARENAME=$(echo "${ROHSHARES[CONFIGROW]}" | cut -f 3 -d$'\t' | sed 's/ /_/g') # Leerzeichen raus. SHAREUSER=$(echo "${ROHSHARES[CONFIGROW]}" | cut -f 4 -d$'\t') # Username, bei Userhome nicht vorhanden SHAREPASS=$(echo "${ROHSHARES[CONFIGROW]}" | cut -f 5 -d$'\t') # User-PW, bei Userhome nicht vorhanden @@ -61,28 +62,31 @@ mnt_shares() { logger "openslx sharemapper: base system reaching; commencing." - # REMAPMODE (remapMode): 0: None, 1 Native, 2 Native Fallback, 3 vmware - # CREATEMISSING (createMissingRemap): 0: Nichts tun, 1 xdg-Verzeichnisse + # REMAPMODE (remapMode): 0: None, 1 Native, 2 Native Fallback, 3 vmware + # RemapMode 0 and 1 curr. treated equally, may deviate in the future + # CREATEMISSING (createMissingRemap): 0: Nichts tun, 1 xdg-Verzeichnisse case "$REMAPMODE" in 0) logger "openslx sharemapper: remapMode 0 (do nothing) detected." - ;; - 1) logger "openslx sharemapper: remapMode 1 (native mode) detected." preliminaries_native - get_creds # fills global var PW with (currently) decrypted password - get_shares # fills array ROHSHARES; row 0 global infos from (shares-)CONFIGFILE, + get_creds # fills global var PW with (currently) decrypted password + get_shares # fills array ROHSHARES; row 0 global infos from (shares-)CONFIGFILE, # following rows: column 1 share path, col 2 drive letter, col 3 share name, # column 4 username, col 5 password. - mount_shares # mounts shares given in array ROHSHARES. + mount_shares # mounts shares given in array ROHSHARES. + ;; + 1) logger "openslx sharemapper: remapMode 1 (native mode) detected." + preliminaries_native + get_creds # fills global var PW with (currently) decrypted password + get_shares + mount_shares # mounts shares given in array ROHSHARES. ;; 2) logger "openslx sharemapper: remapMode 2 (fallback mode) detected." preliminaries_native - get_creds # fills global var PW with (currently) decrypted password - get_shares # fills array ROHSHARES; row 0 global infos from (shares-)CONFIGFILE, - # following rows: column 1 share path, col 2 drive letter, col 3 share name, - # column 4 username, col 5 password. - mount_shares # mounts shares given in array ROHSHARES. - check_fallback # checks for a mounted home and fallbacks to vmware share, if none found. + get_creds # fills global var PW with (currently) decrypted password + get_shares # fills array ROHSHARES; row 0 global infos from (shares-)CONFIGFILE, + mount_shares # mounts shares given in array ROHSHARES. + check_fallback # checks for a mounted home and fallbacks to vmware share, if none found. ;; 3) logger "openslx sharemapper: remapMode 3 (vmware mode) detected." preliminaries_vmware -- cgit v1.2.3-55-g7522