|
|
|
@ -360,6 +360,60 @@ class ogAdmClientWorker (ogLiveWorker):
|
|
|
|
|
}
|
|
|
|
|
return self.respuestaEjecucionComando (cmd, herror, ids)
|
|
|
|
|
|
|
|
|
|
def do_CrearImagenGit (self, post_params):
|
|
|
|
|
for k in ['dsk', 'par', 'cpt', 'idi', 'nci', 'ipr', 'nfn', 'ids']:
|
|
|
|
|
if k not in post_params:
|
|
|
|
|
logger.error (f'required parameter ({k}) not in POST params')
|
|
|
|
|
return {}
|
|
|
|
|
|
|
|
|
|
dsk = post_params['dsk'] ## Disco
|
|
|
|
|
par = post_params['par'] ## Número de partición
|
|
|
|
|
cpt = post_params['cpt'] ## Código de la partición
|
|
|
|
|
idi = post_params['idi'] ## Identificador de la imagen
|
|
|
|
|
nci = post_params['nci'] ## Nombre canónico de la imagen
|
|
|
|
|
ipr = post_params['ipr'] ## Ip del repositorio
|
|
|
|
|
nfn = post_params['nfn']
|
|
|
|
|
ids = post_params['ids']
|
|
|
|
|
tag = post_params['tag'] ## Tag a crear en git una vez hecho el commit
|
|
|
|
|
|
|
|
|
|
self.muestraMensaje (7)
|
|
|
|
|
|
|
|
|
|
try:
|
|
|
|
|
res = self.InventariandoSoftware (dsk, par, 'InventarioSoftware') ## Crea inventario Software previamente
|
|
|
|
|
except:
|
|
|
|
|
logger.warning ('Error al ejecutar el comando')
|
|
|
|
|
return {}
|
|
|
|
|
|
|
|
|
|
if res['contents']:
|
|
|
|
|
self.muestraMensaje (2)
|
|
|
|
|
inv_sft = res['contents']
|
|
|
|
|
try:
|
|
|
|
|
self.interfaceAdmin (nfn, [dsk, par, nci, ipr, tag])
|
|
|
|
|
self.muestraMensaje (9)
|
|
|
|
|
herror = 0
|
|
|
|
|
except:
|
|
|
|
|
logger.warning ('Error al ejecutar el comando')
|
|
|
|
|
self.muestraMensaje (10)
|
|
|
|
|
herror = 1
|
|
|
|
|
else:
|
|
|
|
|
logger.warning ('Error al ejecutar el comando')
|
|
|
|
|
herror = 1
|
|
|
|
|
inv_sft = ''
|
|
|
|
|
|
|
|
|
|
self.muestraMenu()
|
|
|
|
|
|
|
|
|
|
cmd = {
|
|
|
|
|
'nfn': 'RESPUESTA_CrearImagenGit',
|
|
|
|
|
'idi': idi, ## Identificador de la imagen
|
|
|
|
|
'dsk': dsk, ## Número de disco
|
|
|
|
|
'par': par, ## Número de partición de donde se creó
|
|
|
|
|
'cpt': cpt, ## Tipo o código de partición
|
|
|
|
|
'ipr': ipr, ## Ip del repositorio donde se alojó
|
|
|
|
|
'inv_sft': inv_sft
|
|
|
|
|
}
|
|
|
|
|
return self.respuestaEjecucionComando (cmd, herror, ids)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def do_RestaurarImagen (self, post_params):
|
|
|
|
|
for k in ['dsk', 'par', 'idi', 'ipr', 'nci', 'ifs', 'ptc', 'nfn', 'ids']:
|
|
|
|
|
if k not in post_params:
|
|
|
|
@ -406,6 +460,54 @@ class ogAdmClientWorker (ogLiveWorker):
|
|
|
|
|
}
|
|
|
|
|
return self.respuestaEjecucionComando (cmd, herror, ids)
|
|
|
|
|
|
|
|
|
|
def do_RestaurarImagenGit (self, post_params):
|
|
|
|
|
for k in ['dsk', 'par', 'idi', 'ipr', 'nci', 'ifs', 'ptc', 'nfn', 'ids', 'ref']:
|
|
|
|
|
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']
|
|
|
|
|
ref = post_params['ref'] ## Referencia de git a restaurar
|
|
|
|
|
|
|
|
|
|
self.muestraMensaje (3)
|
|
|
|
|
|
|
|
|
|
try:
|
|
|
|
|
## the ptc.split() is useless right now, since interfaceAdmin() does ' '.join(params) in order to spawn a shell
|
|
|
|
|
## however we're going to need it in the future (when everything gets translated into python), plus it's harmless now. So let's do it
|
|
|
|
|
#self.interfaceAdmin (nfn, [dsk, par, nci, ipr, ptc])
|
|
|
|
|
self.interfaceAdmin (nfn, [dsk, par, nci, ipr, ref] + ptc.split())
|
|
|
|
|
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_RestaurarImagenGit',
|
|
|
|
|
'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': self.cfg2obj(cfg), ## Configuración de discos
|
|
|
|
|
}
|
|
|
|
|
return self.respuestaEjecucionComando (cmd, herror, ids)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def do_Configurar (self, post_params):
|
|
|
|
|
for k in ['nfn', 'dsk', 'cfg', 'ids']:
|
|
|
|
|
if k not in post_params:
|
|
|
|
@ -816,6 +918,16 @@ class ogAdmClientWorker (ogLiveWorker):
|
|
|
|
|
logger.debug ('type(post_params) "{}"'.format (type (post_params)))
|
|
|
|
|
return self._long_running_job ('CrearImagen', self.do_CrearImagen, args=(post_params,))
|
|
|
|
|
|
|
|
|
|
def process_CrearImagenGit (self, path, get_params, post_params, server):
|
|
|
|
|
logger.debug ('in process_CrearImagenGit, path "{}" get_params "{}" post_params "{}" server "{}"'.format (path, get_params, post_params, server))
|
|
|
|
|
logger.debug ('type(post_params) "{}"'.format (type (post_params)))
|
|
|
|
|
return self._long_running_job ('CrearImagenGit', self.do_CrearImagenGit, args=(post_params,))
|
|
|
|
|
|
|
|
|
|
def process_RestaurarImagenGit (self, path, get_params, post_params, server):
|
|
|
|
|
logger.debug ('in process_RestaurarImagenGit, path "{}" get_params "{}" post_params "{}" server "{}"'.format (path, get_params, post_params, server))
|
|
|
|
|
logger.debug ('type(post_params) "{}"'.format (type (post_params)))
|
|
|
|
|
return self._long_running_job ('RestaurarImagenGit', self.do_RestaurarImagenGit, args=(post_params,))
|
|
|
|
|
|
|
|
|
|
#def process_CrearImagenBasica (self, path, get_params, post_params, server):
|
|
|
|
|
# logger.debug ('in process_CrearImagenBasica, path "{}" get_params "{}" post_params "{}" server "{}"'.format (path, get_params, post_params, server))
|
|
|
|
|
# logger.warning ('this method has been removed')
|
|
|
|
|