diff options
author | irina <irinagomez@us.es> | 2014-03-17 13:50:36 +0000 |
---|---|---|
committer | irina <irinagomez@us.es> | 2014-03-17 13:50:36 +0000 |
commit | 251c9e4f84eeeb86d015df4d76d45ebe3a36d189 (patch) | |
tree | 50cc8ba02b993b974d8756f0ea32ae393a064917 /client/shared/scripts/createBaseImage | |
parent | 1f03f6e1e23f42a55bfaffcdd63852be4562866e (diff) |
#636 #565 mensajes log en tiempo real y corrige problema al crear imágenes sincronizada tipo archivo con cliente en modo usuario
git-svn-id: https://opengnsys.es/svn/branches/version1.0@4189 a21b9725-9963-47de-94b9-378ad31fedc9
Diffstat (limited to 'client/shared/scripts/createBaseImage')
-rwxr-xr-x | client/shared/scripts/createBaseImage | 72 |
1 files changed, 36 insertions, 36 deletions
diff --git a/client/shared/scripts/createBaseImage b/client/shared/scripts/createBaseImage index 7d4a7ed2..f870cdf7 100755 --- a/client/shared/scripts/createBaseImage +++ b/client/shared/scripts/createBaseImage @@ -17,7 +17,7 @@ #@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_DONTMOUNT_IMAGE # 70 Error al montar una imagen sincronizada -#@note se toma como punto de partida el script createImage, cambiando solo lo especifico para la imagen sincronizada +#@note No necesario permiso se escritura por samba en repo. #@todo: que hacer, si el tamaño de la cache es sufciente, pero no tiene espacio libre #@version 1.0 - creación imagen con btrfs #@author @@ -31,7 +31,11 @@ function onexit() { local exit_status=$? ogUnmountImage $3 "$4" $IMGEXT &>/dev/null if [ $exit_status -ne 4 ]; then - ogUnlockImage "$3" "/$4.$IMGEXT" + if [ "$3" == "CACHE" -o "$3" == "cache" ]; then + ogUnlockImage "$3" "/$4.$IMGEXT" + else + hose $REPOIP 2009 --out sh -c "echo -ne UNLOCK_IMAGE \"$4.$IMGEXT\" " + fi ogUnlock $1 $2 fi exit $exit_status @@ -61,13 +65,13 @@ if [ "$*" == "help" ]; then exit 0 fi -[ $# -ne 4 ] && exit $(ogRaiseError $OG_ERR_FORMAT "$MSG_FORMAT: $PROG ndisco nparticion REPO|CACHE imagen" ; echo $?) +[ $# -ne 4 ] && exit $(ogRaiseError session $OG_ERR_FORMAT "$MSG_FORMAT: $PROG ndisco nparticion REPO|CACHE imagen" ; echo $?) # Limpiamos fichero de log echo " " > $OGLOGCOMMAND [ "$(ogGetCaller)" == "RestaurarImagenBasica" ] || echo -n ""> $OGLOGSESSION -echo "[1] $MSG_SCRIPTS_START $0 $*" | tee -a $OGLOGSESSION $OGLOGFILE +ogEcho log session "[1] $MSG_SCRIPTS_START $0 $*" # Valores por defecto en etc/engine.cfg IMGEXT="img" @@ -75,29 +79,25 @@ REPOIP=$(ogGetRepoIp) # Comprobamos si la imagen o la particion estan bloqueada: -ogIsImageLocked "$3" "$4.$IMGEXT" && exit $(ogRaiseError $OG_ERR_LOCKED "$3 $4.$IMGEXT"; echo $?) -ogIsLocked "$1" "$2" && exit $(ogRaiseError $OG_ERR_LOCKED "$1 $2"; echo $?) +ogIsImageLocked "$3" "$4.$IMGEXT" && exit $(ogRaiseError session $OG_ERR_LOCKED "$3 $4.$IMGEXT"; echo $?) +ogIsLocked "$1" "$2" && exit $(ogRaiseError session $OG_ERR_LOCKED "$1 $2"; echo $?) # Si el repositorio es CACHE comprobamos que exista if [ "$3" == "CACHE" -o "$3" == "cache" ]; then - ! ogFindCache >/dev/null && exit $(ogRaiseError $OG_ERR_NOTCACHE "CACHE "; echo $?) + ! ogFindCache >/dev/null && exit $(ogRaiseError session $OG_ERR_NOTCACHE "CACHE "; echo $?) fi -#Comprobamos acceso de escritura. -DIRTEMP="/$4$(date +%Y%m%d-%H%M%S)" -ogMakeDir $3 "$DIRTEMP" 2>/dev/null && ogDeleteTree $3 "$DIRTEMP" || exit $(ogRaiseError $OG_ERR_NOTWRITE "$3" ; echo $?) - # Obtener información de los parámetros de entrada. -PART=$(ogDiskToDev "$1" "$2" 2>/dev/null) || exit $(ogRaiseError $OG_ERR_PARTITION "$1 $2" ; echo $?) +PART=$(ogDiskToDev "$1" "$2" 2>/dev/null) || exit $(ogRaiseError session $OG_ERR_PARTITION "$1 $2" ; echo $?) # Comprobar consistencia del sistema de archivos. echo " " > $OGLOGCOMMAND SIZEFS=$(ogGetFsSize $1 $2) -echo "[20] $MSG_HELP_ogCheckFs $PART $SIZEFS (KB) " | tee -a $OGLOGSESSION $OGLOGFILE +ogEcho log session "[20] $MSG_HELP_ogCheckFs $PART $SIZEFS (KB) " ogUnmount $1 $2 -ogCheckFs $1 $2 &> $OGLOGCOMMAND || exit $(ogRaiseError $OG_ERR_PARTITION "ogCheckFs $1 $2"; echo $?) +ogCheckFs $1 $2 &> $OGLOGCOMMAND || exit $(ogRaiseError session $OG_ERR_PARTITION "ogCheckFs $1 $2"; echo $?) # Comprobamos que la particion se puede montar -ORIG=$(ogMount $1 $2) || exit $(ogRaiseError $OG_ERR_PARTITION "$1 $2" ; echo $?) +ORIG=$(ogMount $1 $2) || exit $(ogRaiseError session $OG_ERR_PARTITION "$1 $2" ; echo $?) # Borramos ficheros de paginacion y configuracion case "$(ogGetFsType $1 $2)" in @@ -121,8 +121,8 @@ let SIZEREQUIRED=$SIZEDATA*$ZSYNC/100 #Comprobar espacio libre en el contenedor. [ "$3" == "CACHE" -o "$3" == "cache" ] && SIZEFREE=$(ogGetFreeSize `ogFindCache`) [ "$3" == "REPO" -o "$3" == "repo" ] && SIZEFREE=$(df -k | grep $OGIMG | awk '{print $4}') -echo " $MSG_SCRIPTS_CREATE_SIZE $SIZEREQUIRED $SIZEFREE" | tee -a $OGLOGSESSION $OGLOGFILE -[ $SIZEREQUIRED -gt $SIZEFREE ] && exit $(ogRaiseError $OG_ERR_CACHESIZE "$3"; echo $?) +ogEcho log session " $MSG_SCRIPTS_CREATE_SIZE $SIZEREQUIRED $SIZEFREE" +[ $SIZEREQUIRED -gt $SIZEFREE ] && exit $(ogRaiseError session $OG_ERR_CACHESIZE "$3"; echo $?) IMGDIR="$(ogGetParentPath "$3" "/$4")" IMGFILE=${IMGDIR[$3]}/$(basename "/$4").$IMGEXT @@ -130,47 +130,47 @@ IMGFILE=${IMGDIR[$3]}/$(basename "/$4").$IMGEXT echo " " > $OGLOGCOMMAND TIME2=$SECONDS -ogLockImage "$3" "/$4.$IMGEXT" +if [ "$3" == "CACHE" -o "$3" == "cache" ]; then + ogLockImage "$3" "/$4.$IMGEXT" +else + hose $REPOIP 2009 --out sh -c "echo -ne LOCK_IMAGE \"$4.$IMGEXT\" " +fi -echo "[40] $MSG_HELP_ogCreateImage $1 $2 $3 $4 " | tee -a $OGLOGSESSION $OGLOGFILE +ogEcho log session "[40] $MSG_HELP_ogCreateImage $1 $2 $3 $4 " # Si existe el fichero de la imagen se hace copia de seguridad y se redimensiona, si no existe se crea. -echo "[50] $MSG_HELP_ogCreateFileImage." | tee -a $OGLOGSESSION $OGLOGFILE +ogEcho log session "[50] $MSG_HELP_ogCreateFileImage." ogCreateFileImage $3 "$4" $IMGEXT $SIZEREQUIRED # Creamos la lista del contenido y lo situamos en la particion a copiar. -echo "[60] $MSG_HELP_ogCreateInfoImage" | tee -a $OGLOGSESSION $OGLOGFILE +ogEcho log session "[60] $MSG_HELP_ogCreateInfoImage" ogCreateInfoImage $1 $2 $IMGEXT TIMEAUX3=$[SECONDS-TIME2] -echo " $MSG_SCRIPTS_TASK_END, $MSG_SCRIPTS_TIME_PARTIAL : $[TIMEAUX3/60]m $[TIMEAUX3%60]s" | tee -a $OGLOGSESSION $OGLOGFILE +ogEcho log session " $MSG_SCRIPTS_TASK_END, $MSG_SCRIPTS_TIME_PARTIAL : $[TIMEAUX3/60]m $[TIMEAUX3%60]s" # Esperamos que el servidor termine de crear y montar la imagen -ogWaitMountImage "$3" "$4" $IMGEXT $SIZEREQUIRED || exit $(ogRaiseError $OG_ERR_DONTMOUNT_IMAGE "$3 $4 $IMGEXT: time_out."; echo $?) +ogWaitMountImage "$3" "$4" $IMGEXT $SIZEREQUIRED || exit $(ogRaiseError session $OG_ERR_DONTMOUNT_IMAGE "$3 $4 $IMGEXT: time_out."; echo $?) # Sincronizamos los datos de la particion con la imagen. -echo "[70] $MSG_HELP_ogSyncCreate." | tee -a $OGLOGSESSION $OGLOGFILE +ogEcho log session "[70] $MSG_HELP_ogSyncCreate." ogSyncCreate $1 $2 $3 "$4" $IMGEXT TIMEAUX5=$[SECONDS-TIMEAUX3] -echo " $MSG_SCRIPTS_TASK_END, $MSG_SCRIPTS_TIME_PARTIAL: $[TIMEAUX5/60]m $[TIMEAUX5%60]s" | tee -a $OGLOGSESSION $OGLOGFILE +ogEcho log session " $MSG_SCRIPTS_TASK_END, $MSG_SCRIPTS_TIME_PARTIAL: $[TIMEAUX5/60]m $[TIMEAUX5%60]s" -# Reducimos la imagen: solo para kernel <= 3.7, imagenes con FS ext4. -echo "[80] $MSG_HELP_ogReduceImage: $3 /$4.$IMGEXT" | tee -a $OGLOGSESSION $OGLOGFILE +# Reducimos la imagen: solo para kernel <= 3.7, imagenes con FS ext4. (Desmonta y desbloquea la imagen) +ogEcho log session "[80] $MSG_HELP_ogReduceImage: $3 /$4.$IMGEXT" ogReduceImage $3 "$4" $IMGEXT - -# Desmontamos la Imagen -ogUnmountImage $3 "$4" $IMGEXT -ogUnlockImage "$3" "/$4.$IMGEXT" -ogUnlock $1 $2 +sleep 10 echo " " > $OGLOGCOMMAND # Comprobamos que la imagen esta bien detectacdo que es un sistema de ficheros. -echo "[95] $MSG_HELP_ogCheckSyncImage" | tee -a $OGLOGSESSION $OGLOGFILE -ogCheckSyncImage $3 "$4" "img" || exit $(ogRaiseError $OG_ERR_IMAGE "$3 $4 img" ; echo $?) +ogEcho log session "[95] $MSG_HELP_ogCheckSyncImage" +ogCheckSyncImage $3 "$4" "img" || exit $(ogRaiseError session $OG_ERR_IMAGE "$3 $4 img" ; echo $?) #resumen de la operacion IMGSIZE=$(ls -l --block-size=1024 "$IMGFILE" | cut -f5 -d" ") TIME=$[SECONDS-TIME1] -echo "[100] $MSG_SCRIPTS_TIME_TOTAL $[TIME/60]m $[TIME%60]s" | tee -a $OGLOGSESSION $OGLOGFILE -echo " FileSystem $PART with $SIZEDATA KB data created onto file-image as $4 and used $IMGSIZE KB acros DFS rsync " | tee -a $OGLOGSESSION $OGLOGFILE +ogEcho log session "[100] $MSG_SCRIPTS_TIME_TOTAL $[TIME/60]m $[TIME%60]s" +ogEcho log session " FileSystem $PART with $SIZEDATA KB data created onto file-image as $4 and used $IMGSIZE KB acros DFS rsync " |