summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorramon <ramongomez@us.es>2015-07-14 11:45:51 +0000
committerramon <ramongomez@us.es>2015-07-14 11:45:51 +0000
commitb0c96832343256b7983981a5277518dbd06d64a0 (patch)
tree7cb214afc25c58297da8e030943558be3e3faba8
parent695c8e6b17be81f86db89ea0f7c9aa4bdf36e45f (diff)
#711: Integrar código del ticket:711 y modificar ogAdmServer para guardar porcentaje de uso en la BD.
git-svn-id: https://opengnsys.es/svn/branches/version1.1@4666 a21b9725-9963-47de-94b9-378ad31fedc9
-rwxr-xr-xadmin/Interface/getConfiguration12
-rw-r--r--admin/Sources/Services/ogAdmServer/sources/ogAdmServer.cpp38
-rw-r--r--admin/WebConsole/includes/ConfiguracionesParticiones.php2
-rw-r--r--admin/WebConsole/includes/pintaParticiones.php10
4 files changed, 39 insertions, 23 deletions
diff --git a/admin/Interface/getConfiguration b/admin/Interface/getConfiguration
index 0979986d..fbed5a98 100755
--- a/admin/Interface/getConfiguration
+++ b/admin/Interface/getConfiguration
@@ -21,7 +21,7 @@ for ((dsk=1; dsk<=$disks; dsk++)); do
*) ptt=0 ;;
esac
# Información de disco (partición 0)
- cfg="$cfg$dsk:0:$ptt:::$(ogGetDiskSize $dsk);"
+ cfg="$cfg$dsk:0:$ptt:::$(ogGetDiskSize $dsk):0;"
for ((par=1;par<=$particiones;par++)); do
# Código del identificador de tipo de partición
cod=$(ogGetPartitionId $dsk $par 2>/dev/null)
@@ -34,13 +34,15 @@ for ((dsk=1; dsk<=$disks; dsk++)); do
# Sistema operativo instalado
case "$fsi" in
""|EMPTY|CACHE|LINUX-SWAP|LINUX-LVM)
- soi="" ;;
+ soi=""; uso=0 ;;
*) soi=$(getOsVersion $dsk $par 2>/dev/null | cut -f2 -d:)
# Sistema de archivos para datos (sistema operativo "DATA")
[ -z "$soi" -a "$fsi" != "EMPTY" -a "$fsi" != "CACHE" ] && soi="DATA"
+ uso=$(df $(ogDiskToDev $dsk $par) | awk '{getline; printf "%d",$5}')
+ uso=${uso:0}
;;
esac
- cfg="$cfg$dsk:$par:$cod:$fsi:$soi:$tam;"
+ cfg="$cfg$dsk:$par:$cod:$fsi:$soi:$tam:$uso;"
done
done
@@ -58,8 +60,8 @@ generateMenuDefault &>/dev/null
awk '{ n=split($0,sep,";");
for (i=1; i<n; i++){
split (sep[i],dua,":");
- printf ("disk=%s\tpar=%s\tcpt=%s\tfsi=%s\tsoi=%s\ttam=%s\n",
- dua[1],dua[2],dua[3],dua[4],dua[5],dua[6]);
+ printf ("disk=%s\tpar=%s\tcpt=%s\tfsi=%s\tsoi=%s\ttam=%s\tuso=%s\n",
+ dua[1],dua[2],dua[3],dua[4],dua[5],dua[6],dua[7]);
}
}' $cfgfile
diff --git a/admin/Sources/Services/ogAdmServer/sources/ogAdmServer.cpp b/admin/Sources/Services/ogAdmServer/sources/ogAdmServer.cpp
index 19503065..9bd66f6f 100644
--- a/admin/Sources/Services/ogAdmServer/sources/ogAdmServer.cpp
+++ b/admin/Sources/Services/ogAdmServer/sources/ogAdmServer.cpp
@@ -732,14 +732,14 @@ BOOLEAN actualizaConfiguracion(Database db, Table tbl, char* cfg, int ido)
char msglog[LONSTD], sqlstr[LONSQL];
int lon, p, c,i, dato, swu, idsoi, idsfi,k;
char *ptrPar[MAXPAR], *ptrCfg[6], *ptrDual[2], tbPar[LONSTD];
- char *disk, *par, *cpt, *sfi, *soi, *tam; // Parametros que definen una partición
+ char *disk, *par, *cpt, *sfi, *soi, *tam, *uso; // Parametros que definen una partición
char modulo[] = "actualizaConfiguracion()";
lon = 0;
p = splitCadena(ptrPar, cfg, '\n');
for (i = 0; i < p; i++) {
c = splitCadena(ptrCfg, ptrPar[i], '\t');
- disk = par = cpt = sfi = soi = tam = NULL;
+ disk = par = cpt = sfi = soi = tam = uso = NULL;
splitCadena(ptrDual, ptrCfg[0], '=');
disk = ptrDual[1]; // Número de disco
@@ -774,10 +774,14 @@ BOOLEAN actualizaConfiguracion(Database db, Table tbl, char* cfg, int ido)
splitCadena(ptrDual, ptrCfg[5], '=');
tam = ptrDual[1]; // Tamaño de la partición
+ splitCadena(ptrDual, ptrCfg[6], '=');
+ uso = ptrDual[1]; // Porcentaje de uso del S.F.
+
lon += sprintf(tbPar + lon, "(%s, %s),", disk, par);
- sprintf(sqlstr, "SELECT numdisk,numpar,codpar,tamano,idsistemafichero,idnombreso"
- " FROM ordenadores_particiones WHERE idordenador=%d AND numdisk=%s AND numpar=%s",
+ sprintf(sqlstr, "SELECT numdisk, numpar, codpar, tamano, uso, idsistemafichero, idnombreso"
+ " FROM ordenadores_particiones"
+ " WHERE idordenador=%d AND numdisk=%s AND numpar=%s",
ido, disk, par);
@@ -788,9 +792,9 @@ BOOLEAN actualizaConfiguracion(Database db, Table tbl, char* cfg, int ido)
return (FALSE);
}
if (tbl.ISEOF()) { // Si no existe el registro
- sprintf(sqlstr, "INSERT INTO ordenadores_particiones(idordenador,numdisk,numpar,codpar,tamano,idsistemafichero,idnombreso,idimagen)"
- " VALUES(%d,%s,%s,0x%s,%s,%d,%d,0)",
- ido, disk, par, cpt, tam, idsfi, idsoi);
+ sprintf(sqlstr, "INSERT INTO ordenadores_particiones(idordenador,numdisk,numpar,codpar,tamano,uso,idsistemafichero,idnombreso,idimagen)"
+ " VALUES(%d,%s,%s,0x%s,%s,%s,%d,%d,0)",
+ ido, disk, par, cpt, tam, uso, idsfi, idsoi);
if (!db.Execute(sqlstr, tbl)) { // Error al insertar
@@ -812,19 +816,26 @@ BOOLEAN actualizaConfiguracion(Database db, Table tbl, char* cfg, int ido)
return (FALSE);
}
if (atoi(tam) == dato) {// Parámetro tamaño igual al almacenado
- if (!tbl.Get("idsistemafichero", dato)) { // Toma dato
+ if (!tbl.Get("uso", dato)) { // Toma dato
tbl.GetErrorErrStr(msglog); // Error al acceder al registro
errorInfo(modulo, msglog);
return (FALSE);
}
- if (idsfi == dato) {// Parámetro sistema de fichero igual al almacenado
- if (!tbl.Get("idnombreso", dato)) { // Toma dato
+ if (atoi(uso) == dato) {// Parámetro uso igual al almacenado
+ if (!tbl.Get("idsistemafichero", dato)) { // Toma dato
tbl.GetErrorErrStr(msglog); // Error al acceder al registro
errorInfo(modulo, msglog);
return (FALSE);
}
- if (idsoi == dato) {// Parámetro sistema de fichero distinto al almacenado
- swu = FALSE; // Todos los parámetros de la partición son iguales, no se actualiza
+ if (idsfi == dato) {// Parámetro sistema de fichero igual al almacenado
+ if (!tbl.Get("idnombreso", dato)) { // Toma dato
+ tbl.GetErrorErrStr(msglog); // Error al acceder al registro
+ errorInfo(modulo, msglog);
+ return (FALSE);
+ }
+ if (idsoi == dato) {// Parámetro sistema de fichero distinto al almacenado
+ swu = FALSE; // Todos los parámetros de la partición son iguales, no se actualiza
+ }
}
}
}
@@ -833,13 +844,14 @@ BOOLEAN actualizaConfiguracion(Database db, Table tbl, char* cfg, int ido)
sprintf(sqlstr, "UPDATE ordenadores_particiones SET "
" codpar=0x%s,"
" tamano=%s,"
+ " uso=%s,"
" idsistemafichero=%d,"
" idnombreso=%d,"
" idimagen=0,"
" idperfilsoft=0,"
" fechadespliegue=NULL"
" WHERE idordenador=%d AND numdisk=%s AND numpar=%s",
- cpt, tam, idsfi, idsoi, ido, disk, par);
+ cpt, tam, uso, idsfi, idsoi, ido, disk, par);
if (!db.Execute(sqlstr, tbl)) { // Error al recuperar los datos
errorLog(modulo, 21, FALSE);
db.GetErrorErrStr(msglog);
diff --git a/admin/WebConsole/includes/ConfiguracionesParticiones.php b/admin/WebConsole/includes/ConfiguracionesParticiones.php
index 54fdab36..0a6217bd 100644
--- a/admin/WebConsole/includes/ConfiguracionesParticiones.php
+++ b/admin/WebConsole/includes/ConfiguracionesParticiones.php
@@ -92,6 +92,7 @@ function cargaCaves($cmd,$idambito,$ambito,$sws,$swr)
IFNULL (tipospar.tipopar, ordenadores_particiones.codpar) AS tipopar,
tipospar.clonable,
ordenadores_particiones.tamano,
+ ordenadores_particiones.uso,
sistemasficheros.descripcion AS sistemafichero,
ordenadores_particiones.idnombreso,
nombresos.nombreso,
@@ -145,6 +146,7 @@ function cargaCaves($cmd,$idambito,$ambito,$sws,$swr)
$tbKeys[$idx]["tipopar"]=$rs->campos["tipopar"];
$tbKeys[$idx]["clonable"]=$rs->campos["clonable"];
$tbKeys[$idx]["tamano"]=$rs->campos["tamano"];
+ $tbKeys[$idx]["uso"]=$rs->campos["uso"];
$tbKeys[$idx]["sistemafichero"]=$rs->campos["sistemafichero"];
$tbKeys[$idx]["idnombreso"]=$rs->campos["idnombreso"];
$tbKeys[$idx]["nombreso"]=$rs->campos["nombreso"];
diff --git a/admin/WebConsole/includes/pintaParticiones.php b/admin/WebConsole/includes/pintaParticiones.php
index e9f65270..8a783d3d 100644
--- a/admin/WebConsole/includes/pintaParticiones.php
+++ b/admin/WebConsole/includes/pintaParticiones.php
@@ -108,12 +108,12 @@ function pintaParticiones($cmd,$configuraciones,$idordenadores,$cc)
$filesys=tomaSistemasFicheros($tbKeys[$k]["numpar"],$idordenadores,false,$tbKeys[$k]["numdisk"]);
echo'<td align="center">&nbsp;'.$filesys.'&nbsp;</td>'.chr(13);
- echo '<td align="center">&nbsp;'.tomaNombresSO($tbKeys[$k]["numpar"],$idordenadores,$tbKeys[$k]["numdisk"]).'&nbsp;</td>'.chr(13);
-
- echo'<td align="right">&nbsp;'.tomaTamano($tbKeys[$k]["numpar"],$idordenadores,$tbKeys[$k]["numdisk"]).'&nbsp;</td>'.chr(13);
-
+ echo '<td align="center">&nbsp;'.tomaNombresSO($tbKeys[$k]["numpar"],$idordenadores,$tbKeys[$k]["numdisk"]).'&nbsp;</td>'.chr(13);
+
+ echo'<td style="text-align:right; background-image:url(../images/flotantes/lsu.gif); background-size:'.$tbKeys[$k]["uso"].'% 100%; background-repeat:no-repeat">&nbsp;'.tomaTamano($tbKeys[$k]["numpar"],$idordenadores,$tbKeys[$k]["numdisk"]).'&nbsp;</td>'.chr(13);
+
echo'<td align="center">&nbsp;'.tomaImagenes($tbKeys[$k]["numpar"],$idordenadores,$tbKeys[$k]["numdisk"]).'&nbsp;</td>'.chr(13);
-
+
echo'<td align="center">&nbsp;'.tomaPerfiles($tbKeys[$k]["numpar"],$idordenadores,$tbKeys[$k]["numdisk"]).'&nbsp;</td>'.chr(13);
if ($filesys == "CACHE") {