From 86468a99fd4eaee556bb5ef856e6a1e4c648be3b Mon Sep 17 00:00:00 2001 From: Vadim Trochinsky Date: Thu, 31 Jul 2025 10:01:06 +0200 Subject: [PATCH] refs #2506 -- Rearrange parameters, add ability to pass branch to oggit --- .../modules/server/ogAdmClient/__init__.py | 78 ++++++++++--------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/src/opengnsys/modules/server/ogAdmClient/__init__.py b/src/opengnsys/modules/server/ogAdmClient/__init__.py index e8c3c16..3f31108 100644 --- a/src/opengnsys/modules/server/ogAdmClient/__init__.py +++ b/src/opengnsys/modules/server/ogAdmClient/__init__.py @@ -361,22 +361,23 @@ 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', 'repo']: 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['gitrepo'] ## URL a repositorio + 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 +386,7 @@ class ogAdmClientWorker (ogLiveWorker): self.muestraMensaje (2) inv_sft = res['contents'] try: - self.interfaceAdmin (nfn, [dsk, par, nci, ipr]) + self.interfaceAdmin (nfn, ["--disk", disk, "--partition", partition, "--repo", repo]) self.muestraMensaje (9) herror = 0 except: @@ -401,34 +402,36 @@ 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', 'ipr', 'nfn', 'ids', 'branch', 'options', 'msg']: + for k in ['nfn', 'ids', 'disk', 'partition', 'repo', 'branch', 'options', 'msg']: 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 - ipr = post_params['ipr'] ## Ip del repositorio nfn = post_params['nfn'] ids = post_params['ids'] - brn = post_params['branch'] # Rama nueva a crear - opt = post_params['options'] # Rama nueva a crear + + disk = post_params['disk'] ## Disco + partition = post_params['partition'] ## Número de partición + repo = post_params['repo'] ## Ip del repositorio + branch = post_params['branch'] ## Rama nueva a crear + options = post_params['options'] ## Opciones (force push, etc) + msg = post_params['msg'] ## Commit message msg = post_params['msg'] ## Mensaje de commit 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 {} @@ -437,7 +440,7 @@ class ogAdmClientWorker (ogLiveWorker): self.muestraMensaje (2) inv_sft = res['contents'] try: - self.interfaceAdmin (nfn, [dsk, par, ipr, brn, opt, msg]) + self.interfaceAdmin (nfn, ["--disk", disk, "--partition", partition, "--repo", repo, "--branch", branch, "--options", options, "--msg", msg]) self.muestraMensaje (9) herror = 0 except: @@ -453,9 +456,9 @@ 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ó + '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) @@ -508,27 +511,28 @@ 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', 'repo', '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['repo'] ## URL a repositorio + commit = post_params['commit'] ## Referencia de git a restaurar + branch = post_params['branch'] ## Referencia de git a restaurar, opcional 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()) + create_args = ["--disk", disk, "--partition", partition, "--repo", repo, "--commit", commit] + if branch: + create_args = create_args + ["--branch", branch] + + self.interfaceAdmin (nfn, create_args) self.muestraMensaje (11) herror = 0 except: @@ -544,8 +548,8 @@ 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 'cfg': self.cfg2obj(cfg), ## Configuración de discos } return self.respuestaEjecucionComando (cmd, herror, ids)