diff options
author | irina <irinagomez@us.es> | 2014-10-31 13:52:32 +0000 |
---|---|---|
committer | irina <irinagomez@us.es> | 2014-10-31 13:52:32 +0000 |
commit | d3dc88d80ee70f5457f7d2e33f877711832b1a19 (patch) | |
tree | 5261db9abfe7101f8e19e7e85ad3e38ac9cdcfd5 /client/shared/scripts/createBaseImage | |
parent | 642e39f6bb8758b652b9ead42dc0494cb845e2e6 (diff) |
ogGetSizeParameter: devuelve el tamaño del sf, el de la imagen y si cabe en el repositorio elegido - se elimina codigo repetido en script
git-svn-id: https://opengnsys.es/svn/branches/version1.0@4420 a21b9725-9963-47de-94b9-378ad31fedc9
Diffstat (limited to 'client/shared/scripts/createBaseImage')
-rwxr-xr-x | client/shared/scripts/createBaseImage | 45 |
1 files changed, 9 insertions, 36 deletions
diff --git a/client/shared/scripts/createBaseImage b/client/shared/scripts/createBaseImage index b9a3c557..1e35aff4 100755 --- a/client/shared/scripts/createBaseImage +++ b/client/shared/scripts/createBaseImage @@ -40,19 +40,6 @@ TIME1=$SECONDS #Carga el configurador del engine desde el fichero engine.cfg [ -z $OGENGINECONFIGURATE ] && source /opt/opengnsys/etc/engine.cfg -# Factor de calculo de Time out al crear imagen: valor por defecto en engine.cfg -CREATESPEED=${CREATESPEED:-"100000*4"} - -# Sistema de fichero de la imagen según kernel, menor que 3.7 EXT4. comparamos revision -KERNELVERSION=$(uname -r| awk '{printf("%d",$1);sub(/[0-9]*\./,"",$1);printf(".%02d",$1)}') -[ $KERNELVERSION \< 3.07 ] && IMGFS="EXT4" || IMGFS="BTRFS" - -# % de compresion para estimacion tamaño imagen IMGFS="EXT4" -ZSYNC=${ZSYNC:-"120"} - -# Si IMGFS="BTRFS" la compresion es mayor. -[ $IMGFS == "BTRFS" ] && let ZSYNC=$ZSYNC-30 - PROG="$(basename $0)" # Si se solicita, mostrar ayuda. if [ "$*" == "help" ]; then @@ -66,12 +53,12 @@ fi # Limpiamos fichero de log echo " " > $OGLOGCOMMAND -[ "$(ogGetCaller)" == "RestaurarImagenBasica" ] || echo -n ""> $OGLOGSESSION +[ "$(ogGetCaller)" == "CrearImagenBasica" ] || echo -n ""> $OGLOGSESSION ogEcho log session "[1] $MSG_SCRIPTS_START $0 $*" # Valores por defecto en etc/engine.cfg -IMGEXT="img" +IMGEXT=${IMGEXT:-"img"} REPOIP=$(ogGetRepoIp) @@ -97,29 +84,14 @@ ogCheckFs $1 $2 &> $OGLOGCOMMAND || exit $(ogRaiseError session $OG_ERR_PARTITIO ORIG=$(ogMount $1 $2) || exit $(ogRaiseError session $OG_ERR_PARTITION "$1 $2" ; echo $?) # Borramos ficheros de paginacion y configuracion -case "$(ogGetFsType $1 $2)" in - EXT[234]) - ogCleanLinuxDevices $1 $2 - rm -rf $ORIG/tmp/* - ;; - NTFS) - [ $(ogGetPath $1 $2 pagefile.sys) ] && ogDeleteFile $1 $2 pagefile.sys - [ $(ogGetPath $1 $2 hiberfil.sys) ] && ogDeleteFile $1 $2 hiberfil.sys - [ $(ogGetPath $1 $2 swapfile.sys) ] && ogDeleteFile $1 $2 swapfile.sys - ;; -esac +ogCleanOs $1 $2 #Comprobar espacio que requerira la imagen para ser almacenada -SIZEDATA=$(df -k | grep $PART | awk '{print $3}') -#Aplicar factor de compresion -let SIZEREQUIRED=$SIZEDATA*$ZSYNC/100 -# El tamaño mínimo del sistema de ficheros btrfs es 250M, ponemos 300 -[ $SIZEREQUIRED -lt 300000 ] && SIZEREQUIRED=300000 -#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}') -ogEcho log session " $MSG_SCRIPTS_CREATE_SIZE $SIZEREQUIRED $SIZEFREE" -[ $SIZEREQUIRED -gt $SIZEFREE ] && exit $(ogRaiseError session $OG_ERR_CACHESIZE "$3"; echo $?) +read SIZEDATA SIZEREQUIRED ISENOUGHSPACE <<< $(ogGetSizeParameters $1 $2 "$3" SYNC) + +ogEcho log session "[16] $PROG: $MSG_SCRIPTS_CREATE_SIZE $SIZEREQUIRED" +[ "$ISENOUGHSPACE" == "TRUE" ] || exit $(ogRaiseError session $OG_ERR_CACHESIZE "$3"; echo $?) + IMGDIR="$(ogGetParentPath "$3" "/$4")" IMGFILE=${IMGDIR[$3]}/$(basename "/$4").$IMGEXT @@ -128,6 +100,7 @@ echo " " > $OGLOGCOMMAND TIME2=$SECONDS 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. ogEcho log session "[50] $MSG_HELP_ogCreateFileImage." ogLockImage "$3" "/$4.$IMGEXT" |