Soporte de oggit
parent
05e0b83b91
commit
14f4a0c7a0
|
@ -360,6 +360,60 @@ class ogAdmClientWorker (ogLiveWorker):
|
||||||
}
|
}
|
||||||
return self.respuestaEjecucionComando (cmd, herror, ids)
|
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):
|
def do_RestaurarImagen (self, post_params):
|
||||||
for k in ['dsk', 'par', 'idi', 'ipr', 'nci', 'ifs', 'ptc', 'nfn', 'ids']:
|
for k in ['dsk', 'par', 'idi', 'ipr', 'nci', 'ifs', 'ptc', 'nfn', 'ids']:
|
||||||
if k not in post_params:
|
if k not in post_params:
|
||||||
|
@ -406,6 +460,54 @@ class ogAdmClientWorker (ogLiveWorker):
|
||||||
}
|
}
|
||||||
return self.respuestaEjecucionComando (cmd, herror, ids)
|
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):
|
def do_Configurar (self, post_params):
|
||||||
for k in ['nfn', 'dsk', 'cfg', 'ids']:
|
for k in ['nfn', 'dsk', 'cfg', 'ids']:
|
||||||
if k not in post_params:
|
if k not in post_params:
|
||||||
|
@ -816,6 +918,16 @@ class ogAdmClientWorker (ogLiveWorker):
|
||||||
logger.debug ('type(post_params) "{}"'.format (type (post_params)))
|
logger.debug ('type(post_params) "{}"'.format (type (post_params)))
|
||||||
return self._long_running_job ('CrearImagen', self.do_CrearImagen, args=(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):
|
#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.debug ('in process_CrearImagenBasica, path "{}" get_params "{}" post_params "{}" server "{}"'.format (path, get_params, post_params, server))
|
||||||
# logger.warning ('this method has been removed')
|
# logger.warning ('this method has been removed')
|
||||||
|
|
|
@ -257,7 +257,7 @@ class ogLiveWorker(ServerWorker):
|
||||||
self.REST.sendMessage ('clients/status/webhook', body)
|
self.REST.sendMessage ('clients/status/webhook', body)
|
||||||
|
|
||||||
def interfaceAdmin (self, method, parametros=[]):
|
def interfaceAdmin (self, method, parametros=[]):
|
||||||
if method in ['Apagar', 'CambiarAcceso', 'Configurar', 'CrearImagen', 'EjecutarScript', 'getConfiguration', 'getIpAddress', 'IniciarSesion', 'InventarioHardware', 'InventarioSoftware', 'Reiniciar', 'RestaurarImagen']:
|
if method in ['Apagar', 'CambiarAcceso', 'Configurar', 'CrearImagen', 'CrearImagenGit', 'EjecutarScript', 'getConfiguration', 'getIpAddress', 'IniciarSesion', 'InventarioHardware', 'InventarioSoftware', 'Reiniciar', 'RestaurarImagen', 'RestaurarImagenGit']:
|
||||||
## python
|
## python
|
||||||
logger.debug (f'({method}) is a python method')
|
logger.debug (f'({method}) is a python method')
|
||||||
exe = '{}/{}.py'.format (self.pathinterface, method)
|
exe = '{}/{}.py'.format (self.pathinterface, method)
|
||||||
|
|
Loading…
Reference in New Issue