Merge pull request 'Modificacion de imagen de git y refactoring de parametros' (#59) from modificar-imagen-branch into main
Reviewed-on: #59main
commit
39dc6bc400
|
@ -1,3 +1,23 @@
|
|||
ogagent (8.1.2-1) stable; urgency=medium
|
||||
|
||||
* Parameter fixes
|
||||
|
||||
-- OpenGnsys developers <info@opengnsys.es> Mon, 14 Aug 2025 16:07:21 +0200
|
||||
|
||||
|
||||
ogagent (8.1.1-1) stable; urgency=medium
|
||||
|
||||
* Bump version for interfaceAdmin fix
|
||||
|
||||
-- OpenGnsys developers <info@opengnsys.es> Mon, 14 Aug 2025 10:05:11 +0200
|
||||
|
||||
ogagent (8.1.0-1) stable; urgency=medium
|
||||
|
||||
* Add extra parameters to ModificarImagenGit
|
||||
* Rename Git endpoint parameters
|
||||
|
||||
-- OpenGnsys developers <info@opengnsys.es> Mon, 04 Aug 2025 16:15:33 +0200
|
||||
|
||||
ogagent (8.0.0-1) stable; urgency=medium
|
||||
|
||||
* Return HTTP 409 on more than one background jobs
|
||||
|
|
|
@ -361,22 +361,26 @@ class ogAdmClientWorker (ogLiveWorker):
|
|||
return self.respuestaEjecucionComando (cmd, herror, ids)
|
||||
|
||||
def do_CrearImagenGit (self, post_params):
|
||||
for k in ['dsk', 'par', 'nci', 'ipr', 'nfn', 'ids']:
|
||||
for k in ['nfn', 'ids', 'disk', 'partition', 'repository', 'image_name']:
|
||||
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
|
||||
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']
|
||||
|
||||
disk = post_params['disk'] ## Numero de disco
|
||||
partition = post_params['partition'] ## Numero de partición
|
||||
repo = post_params['repository'] ## URL a repositorio
|
||||
image_name = post_params['image_name'] ## Nombre de imagen
|
||||
|
||||
msg = post_params['message'] ## Mensaje de commit (opcional)
|
||||
|
||||
|
||||
self.muestraMensaje (7)
|
||||
|
||||
try:
|
||||
res = self.InventariandoSoftware (dsk, par, 'InventarioSoftware') ## Crea inventario Software previamente
|
||||
res = self.InventariandoSoftware (disk, partition, 'InventarioSoftware') ## Crea inventario Software previamente
|
||||
except:
|
||||
logger.warning ('Error al ejecutar el comando')
|
||||
return {}
|
||||
|
@ -385,7 +389,11 @@ class ogAdmClientWorker (ogLiveWorker):
|
|||
self.muestraMensaje (2)
|
||||
inv_sft = res['contents']
|
||||
try:
|
||||
self.interfaceAdmin (nfn, [dsk, par, nci, ipr])
|
||||
create_args = ["--disk", disk, "--partition", partition, "--repository", repo, "--image-name", image_name]
|
||||
if msg:
|
||||
create_args = create_args + ['--message', msg]
|
||||
|
||||
self.interfaceAdmin (nfn, create_args)
|
||||
self.muestraMensaje (9)
|
||||
herror = 0
|
||||
except:
|
||||
|
@ -401,32 +409,35 @@ class ogAdmClientWorker (ogLiveWorker):
|
|||
|
||||
cmd = {
|
||||
'nfn': 'RESPUESTA_CrearImagenGit',
|
||||
'dsk': dsk, ## Número de disco
|
||||
'par': par, ## Número de partición de donde se creó
|
||||
'ipr': ipr, ## Ip del repositorio donde se alojó
|
||||
'inv_sft': inv_sft
|
||||
'disk' : disk, ## Número de disco
|
||||
'partition': partition, ## Número de partición de donde se creó
|
||||
'repo' : repo, ## Ip del repositorio donde se alojó
|
||||
'inv_sft' : inv_sft
|
||||
}
|
||||
return self.respuestaEjecucionComando (cmd, herror, ids)
|
||||
|
||||
|
||||
def do_ModificarImagenGit (self, post_params):
|
||||
for k in ['dsk', 'par', 'nci', 'ipr', 'nfn', 'ids', 'msg']:
|
||||
for k in ['nfn', 'ids', 'disk', 'partition', 'repository', 'branch', 'options', 'message']:
|
||||
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
|
||||
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']
|
||||
msg = post_params['msg'] ## Mensaje de commit
|
||||
|
||||
disk = post_params['disk'] ## Disco
|
||||
partition = post_params['partition'] ## Número de partición
|
||||
repo = post_params['repository'] ## Ip del repositorio
|
||||
|
||||
branch = post_params['branch'] ## Rama nueva a crear
|
||||
options = post_params['options'] ## Opciones (force push, etc)
|
||||
msg = post_params['message'] ## Commit message
|
||||
|
||||
self.muestraMensaje (7)
|
||||
|
||||
try:
|
||||
res = self.InventariandoSoftware (dsk, par, 'InventarioSoftware') ## Crea inventario Software previamente
|
||||
res = self.InventariandoSoftware (disk, partition, 'InventarioSoftware') ## Crea inventario Software previamente
|
||||
except:
|
||||
logger.warning ('Error al ejecutar el comando')
|
||||
return {}
|
||||
|
@ -435,7 +446,11 @@ class ogAdmClientWorker (ogLiveWorker):
|
|||
self.muestraMensaje (2)
|
||||
inv_sft = res['contents']
|
||||
try:
|
||||
self.interfaceAdmin (nfn, [dsk, par, nci, msg])
|
||||
mod_args = ["--disk", disk, "--partition", partition, "--repository", repo, "--branch", branch, "--message", msg]
|
||||
if options:
|
||||
mod_args = mod_args + ['--options', options]
|
||||
|
||||
self.interfaceAdmin (nfn, mod_args)
|
||||
self.muestraMensaje (9)
|
||||
herror = 0
|
||||
except:
|
||||
|
@ -451,10 +466,11 @@ class ogAdmClientWorker (ogLiveWorker):
|
|||
|
||||
cmd = {
|
||||
'nfn': 'RESPUESTA_ModificarImagenGit',
|
||||
'dsk': dsk, ## Número de disco
|
||||
'par': par, ## Número de partición de donde se creó
|
||||
'ipr': ipr, ## Ip del repositorio donde se alojó
|
||||
'inv_sft': inv_sft
|
||||
'disk' : disk, ## Número de disco
|
||||
'partition' : partition, ## Número de partición de donde se creó
|
||||
'repo' : repo, ## Ip del repositorio donde se alojó
|
||||
'branch' : branch, ## Rama creada
|
||||
'inv_sft' : inv_sft
|
||||
}
|
||||
return self.respuestaEjecucionComando (cmd, herror, ids)
|
||||
|
||||
|
@ -506,27 +522,30 @@ class ogAdmClientWorker (ogLiveWorker):
|
|||
return self.respuestaEjecucionComando (cmd, herror, ids)
|
||||
|
||||
def do_RestaurarImagenGit (self, post_params):
|
||||
for k in ['dsk', 'par', 'ipr', 'nci', 'ptc', 'nfn', 'ids', 'ref']:
|
||||
for k in ['nfn', 'ids', 'disk', 'partition', 'repository', 'image_name', 'commit']:
|
||||
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']
|
||||
ipr = post_params['ipr']
|
||||
nci = post_params['nci']
|
||||
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
|
||||
nfn = post_params['nfn']
|
||||
ids = post_params['ids']
|
||||
|
||||
disk = post_params['disk'] ## Numero de disco
|
||||
partition = post_params['partition'] ## Numero de partición
|
||||
repo = post_params['repository'] ## URL a repositorio
|
||||
image_name = post_params['image_name'] ## Nombre de imagen
|
||||
|
||||
branch = post_params['branch'] ## Rama de git seleccionada para restaurar
|
||||
commit = post_params['commit'] ## Referencia de git a restaurar. Debe ser un commit dentro de la rama indicada.
|
||||
|
||||
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())
|
||||
restore_args = ["--disk", disk, "--partition", partition, "--repository", repo, "--image-name", image_name, "--commit", commit]
|
||||
if branch:
|
||||
restore_args = restore_args + ["--branch", branch]
|
||||
|
||||
self.interfaceAdmin (nfn, restore_args)
|
||||
self.muestraMensaje (11)
|
||||
herror = 0
|
||||
except:
|
||||
|
@ -542,8 +561,9 @@ class ogAdmClientWorker (ogLiveWorker):
|
|||
|
||||
cmd = {
|
||||
'nfn': 'RESPUESTA_RestaurarImagenGit',
|
||||
'dsk': dsk, ## Número de disco
|
||||
'par': par, ## Número de partición
|
||||
'disk' : disk, ## Número de disco
|
||||
'partition': partition, ## Número de partición
|
||||
'repo' : repo, ## Repositorio de git
|
||||
'cfg': self.cfg2obj(cfg), ## Configuración de discos
|
||||
}
|
||||
return self.respuestaEjecucionComando (cmd, herror, ids)
|
||||
|
|
Loading…
Reference in New Issue