refs #705 implement RestaurarImagen() and add some fixes
parent
f5f58ce796
commit
ebf822aad6
|
@ -384,6 +384,8 @@ class ogAdmClientWorker (ServerWorker):
|
||||||
def inclusionCliente (self):
|
def inclusionCliente (self):
|
||||||
cfg = self.LeeConfiguracion()
|
cfg = self.LeeConfiguracion()
|
||||||
if not cfg:
|
if not cfg:
|
||||||
|
logger.warning ('No se ha podido recuperar la configuración de las particiones del disco')
|
||||||
|
logger.warning ('Ha ocurrido algún problema en el proceso de inclusión del cliente')
|
||||||
logger.error ('LeeConfiguracion() failed')
|
logger.error ('LeeConfiguracion() failed')
|
||||||
return False
|
return False
|
||||||
res = self.enviaMensajeServidor ('InclusionCliente', { 'cfg': cfg })
|
res = self.enviaMensajeServidor ('InclusionCliente', { 'cfg': cfg })
|
||||||
|
@ -445,7 +447,7 @@ class ogAdmClientWorker (ServerWorker):
|
||||||
with open (fileautoexec, 'w') as fd:
|
with open (fileautoexec, 'w') as fd:
|
||||||
fd.write (base64.b64decode (res['contents']).decode ('utf-8'))
|
fd.write (base64.b64decode (res['contents']).decode ('utf-8'))
|
||||||
|
|
||||||
self.ejecutaArchivo (fileautoexec);
|
self.ejecutaArchivo (fileautoexec)
|
||||||
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
@ -473,7 +475,7 @@ class ogAdmClientWorker (ServerWorker):
|
||||||
|
|
||||||
def cargaPaginaWeb (self, url=None):
|
def cargaPaginaWeb (self, url=None):
|
||||||
if (not url): url = self.urlMenu
|
if (not url): url = self.urlMenu
|
||||||
os.system ('pkill -9 browser');
|
os.system ('pkill -9 browser')
|
||||||
|
|
||||||
p = subprocess.Popen (['/opt/opengnsys/bin/browser', '-qws', url])
|
p = subprocess.Popen (['/opt/opengnsys/bin/browser', '-qws', url])
|
||||||
try:
|
try:
|
||||||
|
@ -577,11 +579,6 @@ class ogAdmClientWorker (ServerWorker):
|
||||||
self.muestraMenu()
|
self.muestraMenu()
|
||||||
self.procesaComandos()
|
self.procesaComandos()
|
||||||
|
|
||||||
## este es una respuesta, y creo que nadie nos va a llamar nunca a este endpoint
|
|
||||||
## curl --insecure https://192.168.1.249:8000/ogAdmClient/NoComandosPtes
|
|
||||||
#def process_NoComandosPtes (self, path, get_params, post_params, server):
|
|
||||||
# logger.warning ('in process_NoComandosPtes')
|
|
||||||
|
|
||||||
def respuestaEjecucionComando (self, cmd, herror, ids):
|
def respuestaEjecucionComando (self, cmd, herror, ids):
|
||||||
if ids: ## Existe seguimiento
|
if ids: ## Existe seguimiento
|
||||||
cmd['ids'] = ids ## Añade identificador de la sesión
|
cmd['ids'] = ids ## Añade identificador de la sesión
|
||||||
|
@ -627,7 +624,7 @@ class ogAdmClientWorker (ServerWorker):
|
||||||
'par': par,
|
'par': par,
|
||||||
'sft': sft_dst,
|
'sft': sft_dst,
|
||||||
}
|
}
|
||||||
return self.respuestaEjecucionComando (cmd, herror, 0);
|
return self.respuestaEjecucionComando (cmd, herror, 0)
|
||||||
|
|
||||||
return {'true':'true'} ## XXX
|
return {'true':'true'} ## XXX
|
||||||
|
|
||||||
|
@ -714,7 +711,49 @@ class ogAdmClientWorker (ServerWorker):
|
||||||
raise Exception ({ '_httpcode': 404, '_msg': 'This method has been removed' })
|
raise Exception ({ '_httpcode': 404, '_msg': 'This method has been removed' })
|
||||||
|
|
||||||
def process_RestaurarImagen (self, path, get_params, post_params, server):
|
def process_RestaurarImagen (self, path, get_params, post_params, server):
|
||||||
logger.warning ('in process_RestaurarImagen')
|
logger.debug ('in process_RestaurarImagen, path "{}" get_params "{}" post_params "{}" server "{}"'.format (path, get_params, post_params, server))
|
||||||
|
|
||||||
|
for k in ['dsk', 'par', 'idi', 'ipr', 'nci', 'ifs', 'ptc', 'nfn', 'ids']: ## XXX "ids" es realmente obligatorio?
|
||||||
|
if k not in post_params:
|
||||||
|
logger.error (f'required parameter ({k}) not in POST params')
|
||||||
|
return {}
|
||||||
|
|
||||||
|
dsk = post_params['dsk']
|
||||||
|
par = post_params['par']
|
||||||
|
idi = post_params['idi']
|
||||||
|
ipr = post_params['ipr']
|
||||||
|
nci = post_params['nci']
|
||||||
|
ifs = post_params['ifs']
|
||||||
|
ptc = post_params['ptc'] ## Protocolo de clonación: Unicast, Multicast, Torrent
|
||||||
|
nfn = post_params['nfn']
|
||||||
|
ids = post_params['ids']
|
||||||
|
|
||||||
|
self.muestraMensaje (3)
|
||||||
|
|
||||||
|
try:
|
||||||
|
output = self.interfaceAdmin (nfn, [dsk, par, nci, ipr, ptc])
|
||||||
|
self.muestraMensaje (11)
|
||||||
|
herror = 0
|
||||||
|
except:
|
||||||
|
logger.warning ('Error al ejecutar el comando')
|
||||||
|
self.muestraMensaje (12)
|
||||||
|
herror = 1
|
||||||
|
|
||||||
|
cfg = self.LeeConfiguracion()
|
||||||
|
if not cfg:
|
||||||
|
logger.warning ('No se ha podido recuperar la configuración de las particiones del disco')
|
||||||
|
|
||||||
|
self.muestraMenu()
|
||||||
|
|
||||||
|
cmd = {
|
||||||
|
'nfn': 'RESPUESTA_RestaurarImagen',
|
||||||
|
'idi': idi, ## Identificador de la imagen
|
||||||
|
'dsk': dsk, ## Número de disco
|
||||||
|
'par': par, ## Número de partición
|
||||||
|
'ifs': ifs, ## Identificador del perfil software
|
||||||
|
'cfg': cfg, ## Configuración de discos
|
||||||
|
}
|
||||||
|
return self.respuestaEjecucionComando (cmd, herror, ids)
|
||||||
|
|
||||||
def process_RestaurarImagenBasica (self, path, get_params, post_params, server):
|
def process_RestaurarImagenBasica (self, path, get_params, post_params, server):
|
||||||
logger.debug ('in process_RestaurarImagenBasica, path "{}" get_params "{}" post_params "{}" server "{}"'.format (path, get_params, post_params, server))
|
logger.debug ('in process_RestaurarImagenBasica, path "{}" get_params "{}" post_params "{}" server "{}"'.format (path, get_params, post_params, server))
|
||||||
|
|
Loading…
Reference in New Issue