summaryrefslogtreecommitdiffstats
path: root/client/engine/Net.lib
diff options
context:
space:
mode:
Diffstat (limited to 'client/engine/Net.lib')
-rwxr-xr-xclient/engine/Net.lib61
1 files changed, 60 insertions, 1 deletions
diff --git a/client/engine/Net.lib b/client/engine/Net.lib
index f76dcc11..17c932d2 100755
--- a/client/engine/Net.lib
+++ b/client/engine/Net.lib
@@ -10,8 +10,65 @@
#/**
+# ogChangeRepo IPREPO [ OgUnit ]
+#@brief Cambia el repositorio para el recurso remoto images.
+#@param 1 Ip Repositorio
+#@param 2 Abreviatura Unidad Organizativa
+#@return Cambio recurso remoto en OGIMG.
+#@version 1.1 - Primera versión para OpenGnSys.
+#@author Irina Gomez, ETSII Universidad de Sevilla
+#@date 2015-06-16
+#*/
+function ogChangeRepo {
+local SRCIMG NEWREPO REPO OGUNIT
+
+if [ "$*" == "help" ]; then
+ ogHelp "$FUNCNAME" "$FUNCNAME IPREPO [ OgUnit ]" \
+ "$FUNCNAME 10.1.120.3" \
+ "$FUNCNAME 10.1.120.3 cdc"
+ return
+fi
+
+
+if [ $# -lt 1 ]; then
+ ogRaiseError $OG_ERR_FORMAT "$MSG_FORMAT: $FUNCNAME IPREPO [ OgUnit ]"
+ return $?
+fi
+
+
+# Si REPO tomamos el repositorio y la unidad organizativa actual
+REPO=$(ogGetRepoIp)
+OGUNIT="$(df | awk -F " " '/oglog/ {sub("//.*/oglog","",$1); sub("/","",$1); print $1}')"
+
+# Parametros de entrada. Si $1 = "REPO" dejo el repositorio actual
+[ "${1^^}" == "REPO" ] && NEWREPO="$REPO" || NEWREPO="${1}"
+
+# Si $1 y $2 son el repositorio y la OU actual me salgo
+[ "$NEWREPO" == "$REPO" ] && [ "$2" == "$OGUNIT" ] && return 0
+
+source /scripts/functions
+source /scripts/ogfunctions
+umount $OGIMG
+[ "$2" == "" ] && SRCIMG="ogimages" || SRCIMG="ogimages/$2"
+eval $(grep "OPTIONS=" /scripts/ogfunctions)
+[ "$ogactiveadmin" == "true" ] && RW=",rw" || RW=",ro"
+
+ogEcho session log "$MSG_HELP_ogChangeRepo $NEWREPO ${2%/}"
+ogConnect $NEWREPO $ogprotocol $SRCIMG $OGIMG $RW
+
+# Si da error volvemos a montar el inicial
+if [ $? -ne 0 ]; then
+ ogConnect $REPO $ogprotocol $SRCIMG $OGIMG $RW
+ ogRaiseError session $OG_ERR_REPO "$NEWREPO"
+ return $?
+fi
+
+}
+
+
+#/**
# ogGetGroupDir [ str_repo ]
-#@brief Devuelve el cmaino del directorio para el grupo del cliente.
+#@brief Devuelve el camino del directorio para el grupo del cliente.
#@param str_repo repositorio de imágenes (opcional)
#@return path_dir - Camino al directorio del grupo.
#@note repo = { REPO, CACHE } REPO por defecto
@@ -41,6 +98,8 @@ if [ -n "$GROUP" ]; then
DIR=$(ogGetPath "$REPO" "/groups/$GROUP" 2>/dev/null)
[ -d "$DIR" ] && echo "$DIR"
fi
+# Para que no haya error al fallar la condición anterior
+return 0
}