diff options
author | adv <adv@uma.es> | 2011-05-31 12:30:26 +0000 |
---|---|---|
committer | adv <adv@uma.es> | 2011-05-31 12:30:26 +0000 |
commit | ad1f8093b56522d20ec421a24f43ac05acdc0689 (patch) | |
tree | 22eee7bc925932b1b5b155c91b76187c1d55c12d /admin/Interface | |
parent | 9ff7b49ec6cbf49f5a453679f74a020dda1e628e (diff) |
version 1.0.1 #357 comando->Restaurar(torrent,multicast,unicast), comando->CrearImagen en cache MASTER-REPOSITORIO
git-svn-id: https://opengnsys.es/svn/branches/version1.0@2047 a21b9725-9963-47de-94b9-378ad31fedc9
Diffstat (limited to 'admin/Interface')
-rwxr-xr-x | admin/Interface/CrearImagen | 59 | ||||
-rwxr-xr-x | admin/Interface/RestaurarImagen | 91 |
2 files changed, 136 insertions, 14 deletions
diff --git a/admin/Interface/CrearImagen b/admin/Interface/CrearImagen index 7625ab80..abc6edea 100755 --- a/admin/Interface/CrearImagen +++ b/admin/Interface/CrearImagen @@ -9,6 +9,27 @@ # $4 Dirección del repositorio (REPO, por defecto) #___________________________________________________ + +#$OG_ERR_NOTEXEC Si no es llamada por OG client +#$OG_ERR_LOCKED=4 Si la particion está bloqueada. + + +#Codigos de error del scripts createImage +#@exception OG_ERR_FORMAT # 1 formato incorrecto. +#@exception OG_ERR_PARTITION # 3 Error en partición de disco o en su sistema de archivos +#@exception OG_ERR_IMAGE # 5 Error en funcion ogCreateImage o ogRestoreImage. +#@exception OG_ERR_NOTWRITE # 14 error de escritura +#@exception OG_ERR_NOTCACHE # 15 si cache no existe 15 +#@exception OG_ERR_CACHESIZE # 16 si espacio de la cache local o remota no tiene espacio 16 +#@exception OG_ERR_REDUCEFS # 17 error al reducir sistema de archivos. +#@exception OG_ERR_EXTENDFS # 18 Errror al expandir el sistema de archivos. + + +#Códigos de error de la funcion ogCreateImage + + + + # Registro de ejecución echo $* >> $OGLOGFILE @@ -21,20 +42,46 @@ if [ "$CALLER" != "ogAdmClient" ]; then exit $? fi +# Si el origen(pariticion) esta bloqueada salir. + +#if ogIsLocked $1 $2; then +# ogRaiseError $OG_ERR_LOCKED "$MSG_PARTITION, $1 $2" +# exit $? +#fi + + # Valor por defecto para el repositorio. REPO=${4:-"REPO"} [ "$REPO" == "$(ogGetRepoIp)" ] && REPO="REPO" [ "$REPO" == "$(ogGetIpAddress)" ] && REPO="CACHE" +[ "$REPO" == "CACHE" ] && REPO="CACHE" + +# Si el destino es REPO y el cliente no está en modo "admin"; activar repositorio para escritura, +if [ "$REPO" == "REPO" -a "$boot" != "admin" ] +then + CambiarAcceso admin &>> $OGLOGFILE + RETVAL=$? + [ $RETVAL -gt 0 ] && exit $RETVAL +fi + + -# Si cleinte no está en modo "admin"; activar repositorio para escritura, -# crear imagen y activar para lectura. -[ "$boot" != "admin" ] && CambiarAcceso admin if [ -f createImage$ogengine ]; then - createImage$ogengine "$1" "$2" "$REPO" "$3" &>> $OGLOGFILE + createImage$ogengine "$1" "$2" "$REPO" /"$3" &>> $OGLOGFILE else - createImage "$1" "$2" "$REPO" "$3" &>> $OGLOGFILE + createImage "$1" "$2" "$REPO" /"$3" &>> $OGLOGFILE fi RETVAL=$? -[ "$boot" != "admin" ] && CambiarAcceso user + +[ "$REPO" == "REPO" -a "$boot" != "admin" ] && CambiarAcceso user + +if [ $RETVAL == 0 ] +then + rm $OGLOGFILE + touch $OGLOGFILE +else + echo $RETVAL &>> $OGLOGFILE +fi + exit $RETVAL diff --git a/admin/Interface/RestaurarImagen b/admin/Interface/RestaurarImagen index 6e2ed2f6..90299ba9 100755 --- a/admin/Interface/RestaurarImagen +++ b/admin/Interface/RestaurarImagen @@ -5,17 +5,92 @@ # $1 disco # $2 par=N�mero de particion # $3 Nombre can�nico de la imagen -# $4 Direcci�n del repositorio +# $4 Direcci�n IP del repositorio +# $5 Protocolo UNICAST MULTICAST TORRENT +# $6 Opciones del protocolo #_______________________________________________________________________________________________________________________________ -echo $* >> $OGLOGFILE -echo $* >> $OGLOGFILE -if [ -f createImage$ogengine ] +#Descripcion: +# La interfaz detecta: +# Si Repositorio es el global (REPO) realiza un deploy. +# Si Repositorio es local (CACHE) realiza un ogRestoreImage CACHE +# El deploy, si detecta que el cliente no tiene una cache con espacio suficiente reazlia un ogRestore REPO + +#Códigos de error de ogRestoreImage +#@exception OG_ERR_FORMAT 1 formato incorrecto. +#@exception OG_ERR_NOTFOUND 2 fichero de imagen o partición no detectados. +#@exception OG_ERR_PARTITION 3 # Error en partición de disco. +#@exception OG_ERR_LOCKED 4 partición bloqueada por otra operación. +#@exception OG_ERR_IMAGE 5 error al restaurar la imagen del sistema. +#@exception OG_ERR_IMGSIZEPARTITION 30 Tamaño de la particion es menor al tamaño de la imagen. +#@todo: el scripts restoreImage limitarlo a origen:fichero destino:particion +#@version 1.0.1 - Separación en protocolos de transferencia y postconfiguracion +#@author +#@date 2011-05-11 +# + + +# Registro de ejecución +echo $* >> $OGLOGFILE + +# Si el origen(pariticion) esta bloqueada salir. + +echo "TODO comprobando si esta bloqueado el $1 $2" &>> $OGLOGFILE +#if ogIsLocked $1 $2; then +# ogRaiseError $OG_ERR_LOCKED "$MSG_PARTITION, $1 $2" +# exit $? +#fi + +# Valor por defecto para el repositorio. +REPO=${4:-"REPO"} +[ "$REPO" == "$(ogGetRepoIp)" ] && REPO="REPO" +[ "$REPO" == "$(ogGetIpAddress)" ] && REPO="CACHE" +[ "$REPO" == "CACHE" ] && REPO="CACHE" + + +if [ "$REPO" == "CACHE" ] then - restoreImage$ogengine REPO $3 $1 $2 UNICAST &>> $OGLOGFILE || exit $? -else - restoreImage REPO $3 $1 $2 UNICAST &>> $OGLOGFILE || exit $? -fi + echo "Iniciando un ogRestoreImage CACHE /$3 $1 $2" &>> $OGLOGFILE + ogRestoreImage CACHE /"$3" "$1" "$2" &>> $OGLOGFILE + RETVAL=$? +fi +if [ "$REPO" == "REPO" ] +then + echo "updateCache REPO /$3.img $5 $6" &>> $OGLOGFILE + updateCache REPO /$3.img $5 $6 &>> $OGLOGFILE + RETVAL=$? + case $RETVAL in + 0) + echo "updateCache (correcto); re realiza ogRestoreImage REPO /$3 $1 $2 UNICAST" &>> $OGLOGFILE + ogRestoreImage CACHE /"$3" "$1" "$2" &>> $OGLOGFILE + RETVAL=$? + ;; + 15) + echo "updateCache(no hay CACHE); se realiza ogRestoreImage REPO /$3 $1 $2 UNICAST" &>> $OGLOGFILE + ogRestoreImage REPO /"$3" "$1" "$2" &>> $OGLOGFILE + RETVAL=$? + ;; + 16) + echo "updateCache(no hay espacio sufiente en la CACHE), Se realiza ogRestoreImage REPO /$3 $1 $2 UNICAST" &>> $OGLOGFILE + ogRestoreImage REPO /"$3" "$1" "$2" &>> $OGLOGFILE + RETVAL=$? + ;; + esac +fi + +if [ $RETVAL == 0 ] +then + echo "Iniciando la Configuracion del Sistema Restaurado" &>> $OGLOGFILE + configureOs $1 $2 +fi +if [ $RETVAL == 0 ] +then + rm $OGLOGFILE + touch $OGLOGFILE +else + echo $RETVAL &>> $OGLOGFILE +fi +exit $RETVAL |