summaryrefslogtreecommitdiffstats
path: root/client/shared/scripts/createBaseImage
diff options
context:
space:
mode:
authoririna <irinagomez@us.es>2014-10-31 13:52:32 +0000
committeririna <irinagomez@us.es>2014-10-31 13:52:32 +0000
commitd3dc88d80ee70f5457f7d2e33f877711832b1a19 (patch)
tree5261db9abfe7101f8e19e7e85ad3e38ac9cdcfd5 /client/shared/scripts/createBaseImage
parent642e39f6bb8758b652b9ead42dc0494cb845e2e6 (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-xclient/shared/scripts/createBaseImage45
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"