git-svn-id: https://opengnsys.es/svn/branches/version1.1@4592 a21b9725-9963-47de-94b9-378ad31fedc9

master
alonso 2015-03-27 09:20:18 +00:00
parent 396f8bbcdd
commit ad4ae52156
1 changed files with 31 additions and 31 deletions

View File

@ -835,11 +835,10 @@ BOOLEAN actualizaConfiguracion(Database db, Table tbl, char* cfg, int ido)
" tamano=%s," " tamano=%s,"
" idsistemafichero=%d," " idsistemafichero=%d,"
" idnombreso=%d," " idnombreso=%d,"
" idimagen=0," " idimagen=%d,"
" idperfilsoft=0," " idperfilsoft=%d"
" fechadespliegue=NULL"
" WHERE idordenador=%d AND numdisk=%s AND numpar=%s", " WHERE idordenador=%d AND numdisk=%s AND numpar=%s",
cpt, tam, idsfi, idsoi, ido, disk, par); cpt, tam, idsfi, idsoi, 0, 0, ido, disk, par);
if (!db.Execute(sqlstr, tbl)) { // Error al recuperar los datos if (!db.Execute(sqlstr, tbl)) { // Error al recuperar los datos
errorLog(modulo, 21, FALSE); errorLog(modulo, 21, FALSE);
db.GetErrorErrStr(msglog); db.GetErrorErrStr(msglog);
@ -1925,7 +1924,7 @@ BOOLEAN RESPUESTA_CrearImagen(SOCKET *socket_c, TRAMA* ptrTrama)
char msglog[LONSTD]; char msglog[LONSTD];
Database db; Database db;
Table tbl; Table tbl;
char *iph, *dsk, *par, *cpt, *ipr, *ido; char *iph, *par, *cpt, *ipr, *ido;
char *idi; char *idi;
BOOLEAN res; BOOLEAN res;
char modulo[] = "RESPUESTA_CrearImagen()"; char modulo[] = "RESPUESTA_CrearImagen()";
@ -1949,12 +1948,11 @@ BOOLEAN RESPUESTA_CrearImagen(SOCKET *socket_c, TRAMA* ptrTrama)
// Acciones posteriores // Acciones posteriores
idi = copiaParametro("idi",ptrTrama); idi = copiaParametro("idi",ptrTrama);
dsk = copiaParametro("dsk",ptrTrama);
par = copiaParametro("par",ptrTrama); par = copiaParametro("par",ptrTrama);
cpt = copiaParametro("cpt",ptrTrama); cpt = copiaParametro("cpt",ptrTrama);
ipr = copiaParametro("ipr",ptrTrama); ipr = copiaParametro("ipr",ptrTrama);
res=actualizaCreacionImagen(db, tbl, idi, dsk, par, cpt, ipr, ido); res=actualizaCreacionImagen(db, tbl, idi, par, cpt, ipr, ido);
liberaMemoria(idi); liberaMemoria(idi);
liberaMemoria(par); liberaMemoria(par);
@ -1979,7 +1977,6 @@ BOOLEAN RESPUESTA_CrearImagen(SOCKET *socket_c, TRAMA* ptrTrama)
// - db: Objeto base de datos (ya operativo) // - db: Objeto base de datos (ya operativo)
// - tbl: Objeto tabla // - tbl: Objeto tabla
// - idi: Identificador de la imagen // - idi: Identificador de la imagen
// - dsk: Disco de donde se creó
// - par: Partición de donde se creó // - par: Partición de donde se creó
// - cpt: Código de partición // - cpt: Código de partición
// - ipr: Ip del repositorio // - ipr: Ip del repositorio
@ -1988,15 +1985,14 @@ BOOLEAN RESPUESTA_CrearImagen(SOCKET *socket_c, TRAMA* ptrTrama)
// TRUE: Si el proceso es correcto // TRUE: Si el proceso es correcto
// FALSE: En caso de ocurrir algún error // FALSE: En caso de ocurrir algún error
// ________________________________________________________________________________________________________ // ________________________________________________________________________________________________________
BOOLEAN actualizaCreacionImagen(Database db, Table tbl, char* idi, char* dsk, BOOLEAN actualizaCreacionImagen(Database db, Table tbl, char* idi, char* par,
char* par, char* cpt, char* ipr, char *ido) { char* cpt, char* ipr, char *ido) {
char msglog[LONSTD], sqlstr[LONSQL]; char msglog[LONSTD], sqlstr[LONSQL];
char modulo[] = "actualizaCreacionImagen()"; char modulo[] = "actualizaCreacionImagen()";
int idr,ifs; int idr,ifs;
/* Toma identificador del repositorio correspondiente al ordenador modelo */ /* Toma identificador del repositorio correspondiente al ordenador modelo */
snprintf(sqlstr, LONSQL, sprintf(sqlstr, "SELECT repositorios.idrepositorio"
"SELECT repositorios.idrepositorio"
" FROM repositorios" " FROM repositorios"
" LEFT JOIN ordenadores USING (idrepositorio)" " LEFT JOIN ordenadores USING (idrepositorio)"
" WHERE repositorios.ip='%s' AND ordenadores.idordenador=%s", ipr, ido); " WHERE repositorios.ip='%s' AND ordenadores.idordenador=%s", ipr, ido);
@ -2014,10 +2010,7 @@ BOOLEAN actualizaCreacionImagen(Database db, Table tbl, char* idi, char* dsk,
} }
/* Toma identificador del perfilsoftware */ /* Toma identificador del perfilsoftware */
snprintf(sqlstr, LONSQL, sprintf(sqlstr,"SELECT idperfilsoft FROM ordenadores_particiones WHERE idordenador=%s AND numpar=%s", ido,par);
"SELECT idperfilsoft"
" FROM ordenadores_particiones"
" WHERE idordenador=%s AND numdisk=%s AND numpar=%s", ido, dsk, par);
if (!db.Execute(sqlstr, tbl)) { // Error al leer if (!db.Execute(sqlstr, tbl)) { // Error al leer
errorLog(modulo, 21, FALSE); errorLog(modulo, 21, FALSE);
@ -2032,10 +2025,9 @@ BOOLEAN actualizaCreacionImagen(Database db, Table tbl, char* idi, char* dsk,
} }
/* Actualizar los datos de la imagen */ /* Actualizar los datos de la imagen */
snprintf(sqlstr, LONSQL, sprintf(sqlstr,
"UPDATE imagenes" "UPDATE imagenes SET numpar=%s,codpar=%s,idperfilsoft=%d,idrepositorio='%d'"
" SET idordenador=%s, numdisk=%s, numpar=%s, codpar=%s, idperfilsoft=%d, idrepositorio=%d, fechacreacion=NOW()" " WHERE idimagen=%s", par, cpt, ifs, idr, idi);
" WHERE idimagen=%s", ido, dsk, par, cpt, ifs, idr, idi);
if (!db.Execute(sqlstr, tbl)) { // Error al recuperar los datos if (!db.Execute(sqlstr, tbl)) { // Error al recuperar los datos
errorLog(modulo, 21, FALSE); errorLog(modulo, 21, FALSE);
@ -2321,7 +2313,7 @@ BOOLEAN RESPUESTA_RestaurarImagen(SOCKET *socket_c, TRAMA* ptrTrama)
Database db; Database db;
Table tbl; Table tbl;
BOOLEAN res; BOOLEAN res;
char *iph, *ido, *idi, *dsk, *par, *ifs; char *iph, *ido, *idi, *par, *ifs;
char modulo[] = "RESPUESTA_RestaurarImagen()"; char modulo[] = "RESPUESTA_RestaurarImagen()";
if (!db.Open(usuario, pasguor, datasource, catalog)) { // Error de conexion if (!db.Open(usuario, pasguor, datasource, catalog)) { // Error de conexion
@ -2343,11 +2335,10 @@ BOOLEAN RESPUESTA_RestaurarImagen(SOCKET *socket_c, TRAMA* ptrTrama)
// Acciones posteriores // Acciones posteriores
idi = copiaParametro("idi",ptrTrama); // Toma identificador de la imagen idi = copiaParametro("idi",ptrTrama); // Toma identificador de la imagen
dsk = copiaParametro("dsk",ptrTrama); // Número de disco
par = copiaParametro("par",ptrTrama); // Número de partición par = copiaParametro("par",ptrTrama); // Número de partición
ifs = copiaParametro("ifs",ptrTrama); // Identificador del perfil software contenido ifs = copiaParametro("ifs",ptrTrama); // Identificador del perfil software contenido
res=actualizaRestauracionImagen(db, tbl, idi, dsk, par, ido, ifs); res=actualizaRestauracionImagen(db, tbl, idi, par, ido, ifs);
liberaMemoria(iph); liberaMemoria(iph);
liberaMemoria(ido); liberaMemoria(ido);
@ -2405,7 +2396,6 @@ BOOLEAN RESPUESTA_RestaurarSoftIncremental(SOCKET *socket_c, TRAMA* ptrTrama) {
// - db: Objeto base de datos (ya operativo) // - db: Objeto base de datos (ya operativo)
// - tbl: Objeto tabla // - tbl: Objeto tabla
// - idi: Identificador de la imagen // - idi: Identificador de la imagen
// - dsk: Disco de donde se restauró
// - par: Partición de donde se restauró // - par: Partición de donde se restauró
// - ido: Identificador del cliente donde se restauró // - ido: Identificador del cliente donde se restauró
// - ifs: Identificador del perfil software contenido en la imagen // - ifs: Identificador del perfil software contenido en la imagen
@ -2414,15 +2404,14 @@ BOOLEAN RESPUESTA_RestaurarSoftIncremental(SOCKET *socket_c, TRAMA* ptrTrama) {
// FALSE: En caso de ocurrir algún error // FALSE: En caso de ocurrir algún error
// ________________________________________________________________________________________________________ // ________________________________________________________________________________________________________
BOOLEAN actualizaRestauracionImagen(Database db, Table tbl, char* idi, BOOLEAN actualizaRestauracionImagen(Database db, Table tbl, char* idi,
char* dsk, char* par, char* ido, char* ifs) { char* par, char* ido, char* ifs) {
char msglog[LONSTD], sqlstr[LONSQL]; char msglog[LONSTD], sqlstr[LONSQL];
char modulo[] = "actualizaRestauracionImagen()"; char modulo[] = "actualizaRestauracionImagen()";
/* Actualizar los datos de la imagen */ /* Actualizar los datos de la imagen */
snprintf(sqlstr, LONSQL, sprintf(sqlstr,
"UPDATE ordenadores_particiones" "UPDATE ordenadores_particiones SET idimagen=%s,idperfilsoft=%s"
" SET idimagen=%s, idperfilsoft=%s, fechadespliegue=NOW()" " WHERE idordenador=%s AND numpar=%s", idi, ifs, ido, par);
" WHERE idordenador=%s AND numdisk=%s AND numpar=%s", idi, ifs, ido, dsk, par);
if (!db.Execute(sqlstr, tbl)) { // Error al recuperar los datos if (!db.Execute(sqlstr, tbl)) { // Error al recuperar los datos
errorLog(modulo, 21, FALSE); errorLog(modulo, 21, FALSE);
@ -3463,13 +3452,24 @@ BOOLEAN envioProgramacion(SOCKET *socket_c, TRAMA *ptrTrama)
errorInfo(modulo, msglog); errorInfo(modulo, msglog);
return (FALSE); return (FALSE);
} }
mar = copiaParametro("mar",ptrTrama); // Toma modo de arranque si el comando es Arrancar
if (!Levanta(iph,mac,mar)) { //mar = copiaParametro("mar",ptrTrama); // Toma modo de arranque si el comando es Arrancar
// Se manda por broadcast y por unicast
if (!Levanta(iph,mac,"1")) {
sprintf(msglog, "%s:%s", tbErrores[32], modulo); sprintf(msglog, "%s:%s", tbErrores[32], modulo);
errorInfo(modulo, msglog); errorInfo(modulo, msglog);
liberaMemoria(mar); liberaMemoria(mar);
return (FALSE); return (FALSE);
} }
if (!Levanta(iph,mac,"2")) {
sprintf(msglog, "%s:%s", tbErrores[32], modulo);
errorInfo(modulo, msglog);
liberaMemoria(mar);
return (FALSE);
}
liberaMemoria(mar); liberaMemoria(mar);
} }
if (clienteDisponible(iph, &idx)) { // Si el cliente puede recibir comandos if (clienteDisponible(iph, &idx)) { // Si el cliente puede recibir comandos